nel mio progetto sto scoprendo che mescolo e abbino i seguenti due modelli, quando si tratta di organizzare le classi in cartelle / spazi dei nomi:
Blocchi MVC modulari
module/Album/Feature/Controller/AlbumFeatureController.php
module/Album/Feature/Repository/AlbumFeatureRepository.php
module/Album/Feature/Form/AlbumFeatureForm.php
- - - -
module/Album/Feature2/Controller/AlbumFeature2Controller.php
module/Album/Feature2/Repository/AlbumFeature2Repository.php
module/Album/Feature2/Form/AlbumFeature2Form.php
- - - -
- - - -
module/Album/Feature100/Controller/AlbumFeature100Controller.php
module/Album/Feature100/Repository/AlbumFeature100Repository.php
module/Album/Feature100/Form/AlbumFeature100Form.php
- Pro: se voglio rimuovere una feature, rimuovo la cartella chiamata "Feature" e apporto alcune modifiche
- Con: crea più cartelle
Community MVC Blocks
module/Album/Controller/AlbumFeatureController.php
module/Album/Controller/AlbumFeature2Controller.php
. . .
module/Album/Controller/AlbumFeature100Controller.php
- - - -
module/Album/Repository/AlbumFeatureRepository.php
module/Album/Repository/AlbumFeature2Repository.php
. . .
module/Album/Repository/AlbumFeature100Repository.php
- - - -
module/Album/Form/AlbumFeatureForm.php
module/Album/Form/AlbumFeature2Form.php
. . .
module/Album/Form/AlbumFeature100Form.php
- Pro: tutti
Controllers
si trovano nella cartella "Controllers" - Con: qui quando voglio eliminare la funzione, devo andare individualmente nelle cartelle
Controller, Form, Repository
e cercare le classi che prendono il nome dalla mia funzione e rimuoverle.
Sto iniziando a favorire l'approccio modulare grazie alla sua compartimentalizzazione memorizzata nel file system.
Domanda:
è un approccio superiore a un altro o entrambi sono ugualmente intercambiabili in base ai propri bisogni, gusti e preferenze?