Xin ý kiến về xây dựng file Model chuẩn!
-
Mình xây dựng model cho server của mình nhưng không biết cách nào mới đúng chuẩn.
Mong mấy bạn đi trước hoặc có kinh nghiệm chia sẽ giúp cách tạo ra một model chuẩn thuận tiện cho việc code sau này.
Cám ơn các bạn đã đọc.
Dưới đây là model mình tự làm. Nhìn không có logic lắm.
-
@Kha-Pham
Vầy thì code cũng khó scale lắm bạn. Ví dụ hàm insert bạn muốn chuyển từ data từ req.body (asume nha) với lượng input nhiều hơn 3 mà là 10 thì sao. Với mongoDB nó store sạch sẽ. Hoặc vói Postgresql thì nó sẽ báo lỗi khi dư. Nên trong file model thì mình thấy có 3 phần chính.- Define Schema (với Relation DB như postgres, mysql) hoặc với nếu bạn dung mongoose như trên.
- Define mapping data từ object data bất kì -> 1 instance của model đó.
Ví dụ:
CreatePermissionData(data) => { return Permission.build({ id_quyen: data.id_quyen, .... }) } UpdatePermissionData(data) => {...}
Cái này giúp bạn lọc data từ client ra thành những thứ bạn cần. Không thừa, không thiếu. Và có thể add default trong code base dễ hơn.
- Các method với model đó. Ví dụ 1 class permission như bạn trên kìa là đang thể hiện các method của 1 instance. Nhưng bạn viết nó thành thể hiển 1 cái model của 1 db. (insert, ...)
Permission.getId() => {return this.id} ...
Những hàm method xử lí với data của instance sẽ rõ ràng hơn. Còn làm việc với db các thao tác như search, insert, update. Bạn viết 1 file controller hay gateway xử lí nó. Sẽ sạch đẹp hơn :3
-
@Nguyen-Hien cám ơn bạn. Giờ hiểu thêm về nó. Nó không có dạng framwork giống php để dễ làm nhĩ nên hơi cực xíu nhưng vẫn rất thích