Nói chung, MVC frameeworks có một cấu trúc trông giống như sau:Theo khuôn khổ MVC, cấu trúc thư mục nào được các nhà phát triển khác mong đợi?
/models
/views
/controllers
/utils
Tuy nhiên, trong một bộ ứng dụng web, tôi đã quyết định rằng kết tụ tất cả các models, views, và bộ điều khiển cùng có lẽ sẽ không phải là tốt nhất cho rõ ràng, trừ khi tôi xử lý hệ thống như một ứng dụng thay vì một bộ ứng dụng. Tuy nhiên, một số thứ liên kết mọi "ứng dụng" với nhau, như khái niệm về người dùng và vai trò người dùng.
Vì vậy, tôi có ba giải pháp khả thi:
(1) Hãy làm những gì tôi không thực sự muốn làm, và giữ cho tất cả các mô hình, xem và điều khiển với nhau, bất kể ứng dụng nào nó thuộc về. Điều này được coi là một ứng dụng đơn, vì chúng được gắn với nhau bởi một số chủ đề phổ biến, bao gồm cả người dùng.
(2) Nhóm mã theo ứng dụng.
/app1
/models
/views
/controllers
/utils
/app2
/models
/views
/controllers
/utils
(3) Nhóm mã theo loại, cho phép chia sẻ mã tiện ích trong tất cả các ứng dụng.
/models
/app1
/app2
/views
/app1
/app2
/controllers
/app1
/app2
/utils
Có tùy chọn nào tôi đã bỏ lỡ không? Điều gì sẽ là kế hoạch hợp lý nhất cho các nhà phát triển trong tương lai? Cá nhân tôi thích 2 và 3, nhưng có lẽ hầu hết mọi người mong đợi 1.
Điều này chắc chắn trông giống như giải pháp thiết thực nhất. – CodeVirtuoso