فصل التخزين
لبناء خدمات مصغرة قابلة للصيانة، افصل منطق العمل عن كود الوصول إلى البيانات.
الواجهة (Interface):
go type UserRepository interface { GetByID(id int) (*User, error) Save(u *User) error }
من خلال البرمجة لواجهة، يمكنك البدء بتنفيذ في الذاكرة (In-Memory) والانتقال إلى PostgreSQL لاحقاً دون تغيير معالجاتك.