In den kommenden Monaten werden wir ein Projekt starten, in dem wir ein System, das wir für einen Client (v1) erstellt haben, von Grund auf neu erstellen. Unser Ziel mit v2 ist es, es modular zu gestalten, so dass dieser spezielle Client seine eigene Gruppe von Modulen hat, die er verwendet. Dann kann ein anderer Client eine andere Gruppe von Modulen verwenden. Der Trick dabei ist, dass Unternehmen A möglicherweise eine Reihe von Checkout- und Benutzermodulen hat, die die Funktionsweise dieses Systems ändern. Firma B hält sich möglicherweise an das Standard-Checkout-Verfahren, passt jedoch an, wie die Produkte durchsucht werden.
Was sind einige gute Ansätze für die Anwendungsarchitektur, wenn Sie eine Anwendung von Grund auf neu erstellen, die von Core
allen Clients gemeinsam genutzt werden soll, während die Flexibilität für Änderungen beibehalten wird, die speziell für einen Client vorgenommen werden sollen?
Ich habe die Hooks von CodeIgniter gesehen und halte das nicht für eine gute Lösung, da wir am Ende 250 Hooks haben könnten und es immer noch nicht flexibel genug ist. Welche anderen Lösungen gibt es? Im Idealfall müssen wir keine Linie in den Sand ziehen.