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 disponga del proprio set di moduli che utilizza, quindi un altro client può utilizzare un set di moduli completamente diverso. Il trucco qui è che la società A potrebbe avere una serie di checkout e moduli utente che cambiano il modo in cui quel sistema funziona. La società B potrebbe attenersi alla procedura di pagamento standard, ma personalizzare il modo in cui i prodotti vengono sfogliati.
Quali sono alcuni buoni approcci all'architettura delle applicazioni quando si Core
crea un'applicazione da zero che si desidera condividere con tutti i client mantenendo comunque la flessibilità per qualsiasi cosa da modificare specificamente per un client?
Ho visto i ganci di CodeIgniter e non penso che sia una buona soluzione in quanto potremmo finire con 250 ganci e non è ancora abbastanza flessibile. Quali sono alcune altre soluzioni? Idealmente non avremo bisogno di tracciare una linea nella sabbia.