Uno degli obiettivi dei framework modulari come Kohana o Alloy facilita l'aggiunta e la rimozione di componenti (ad es. "plug-in" o "moduli").
Tuttavia, in tutti i progetti più grandi che abbia mai lavorato, il sistema spesso dipende dai moduli su cui è basato. Dopotutto, è per questo che sono lì - per costruire con loro.
Quindi, mi chiedo se il concetto di creare distinte sezioni separate di un'applicazione web come moduli indipendenti sia anche una buona idea per cominciare? Ad esempio, potremmo costruire un utente generale, forum e modulo blog - ma ogni progetto è diverso e di solito comporta la creazione di molti livelli di astrazione per aggiungere nuove funzionalità o la modifica diretta dei file per personalizzarli. Non riesco a riutilizzare lo stesso modulo su più progetti.
In altre parole, non sono più solo un componente aggiuntivo plug-in-play al sito.
Ora non sto confondendo questo con una corretta progettazione della classe per garantire MVC e logica di libreria non accoppiate . Ma mi chiedo se "MMVC" sia stato uno sforzo superfluo per applicare anche concetti di design di classe adeguata alla progettazione delle applicazioni. Dopo tutto, molti sistemi di migrazione o librerie di database come Doctrine richiedono tutte le relazioni enunciate nei modelli dal primo giorno, collegando in tal modo le entità.
È una di quelle cose che suona come una buona idea quando il progetto inizia, ma alla fine si dimostra una caratteristica inutile? I moduli hanno il loro posto in sistemi come wordpress - ma non in framework in cui ovviamente stai costruendo qualcosa di personalizzato?