Generalnie frameeworks MVC mają strukturę, która wygląda mniej więcej tak:W ramach MVC, jakiej struktury katalogów oczekiwaliby inni deweloperzy?
/models
/views
/controllers
/utils
Jednak w apartamencie aplikacji internetowych, zdecydowałem, że zbicie wszystkich modeli, widoków i kontrolerów razem prawdopodobnie nie byłby najlepszy dla jasności, chyba że potraktowałem system jako jedną aplikację zamiast pakietu aplikacji. Jednak niektóre rzeczy wiążą każdą "aplikację" ze sobą, podobnie jak pojęcie użytkowników i ról użytkowników.
Więc mam trzy możliwe rozwiązania:
(1) Czy to, co tak naprawdę nie chcą robić, i zachować każdy model, widok i kontroler razem, z których niezależnie app należy. To traktuje pakiet jako pojedynczą aplikację, ponieważ są one powiązane przez kilka wspólnych wątków, w tym użytkowników.
(2) Pogrupuj kod według aplikacji.
/app1
/models
/views
/controllers
/utils
/app2
/models
/views
/controllers
/utils
(3) Pogrupuj kod według typu, umożliwiając udostępnienie kodu użyteczności dla wszystkich aplikacji.
/models
/app1
/app2
/views
/app1
/app2
/controllers
/app1
/app2
/utils
Czy istnieje opcja, którą przegapiłem? Jaki byłby najbardziej logiczny schemat dla przyszłych programistów? Osobiście wolę 2 i 3, ale być może większość ludzi oczekiwałaby 1.
To zdecydowanie wygląda na najbardziej praktyczne rozwiązanie. – CodeVirtuoso