Nei prossimi mesi inizieremo un progetto in cui prendiamo un sistema che abbiamo creato per un client (v1) e lo ricostruiamo da zero. Il nostro obiettivo con v2 è di renderlo modulare, in modo che questo specifico client abbia il proprio insieme di moduli che utilizza, quindi un altro client può utilizzare un insieme diverso di moduli. Il trucco qui è che l'Azienda A potrebbe avere una serie di checkout e moduli utente che cambiano il funzionamento di quel sistema. La società B potrebbe seguire la procedura di pagamento standard ma personalizzare la modalità di navigazione dei prodotti.
Quali sono alcuni buoni approcci all'architettura delle applicazioni quando si costruisce un'applicazione da zero che si desidera avere una Core
condivisa tra tutti i client pur mantenendo la flessibilità per qualsiasi cosa da modificare specificamente per un client?
Ho visto gli hook di CodeIgniter e non penso che sia una buona soluzione dato che potremmo finire con 250 hook e non è ancora abbastanza flessibile. Quali sono alcune altre soluzioni? Idealmente non avremo bisogno di tracciare una linea nella sabbia.