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.
quelle
RenderAction()
Ich bin kein PHP-Typ, aber auf der Java-Skript-Seite, wenn Sie viele Module haben wollen, die Sie so unabhängig wie möglich halten möchten, gibt es mehrere Systeme dafür, wie z. B. RequireJS , die Java-Skript haben Module, die Abhängigkeiten von anderen Modulen deklarieren, und das Framework stellt sicher, dass sie bei Bedarf geladen werden.
Die verschiedenen Frameworks unterscheiden sich darin, wie Abhängigkeiten deklariert werden, wie viel Abhängigkeitshandling als Build-Schritt auf dem Server, beim Laden von Seiten oder dynamisch auf Anfrage ausgeführt wird und in welchem Umfang Sie die Art und Weise ändern müssen, in der Sie Ihr Java schreiben. Skript.
Diese Frameworks gelten nicht so häufig (oder möglicherweise überhaupt nicht), wenn Ihr serverseitiges Framework dies verarbeitet oder Ihr Java-Skript für Sie generiert. Möglicherweise möchten Sie jedoch, dass Ihr Java-Skript von Ihrem serverseitigen Framework unabhängig ist.
Wenn Sie nicht zu viel Java-Skript haben, aber Modularität wünschen, können Sie sich immer an anonyme selbstaufrufende Funktionen halten, die Abhängigkeiten behandeln, indem Sie die Skript-Tags zuerst mit Abhängigkeiten ordnen und sich gegenseitig referenzieren, indem Sie sich mit einem einzelnen Objekt in registrieren der globale Namespace. Das macht sie zumindest nahezu modular und kostet Sie nicht viel, um sie zu implementieren.
quelle
Hier einige Anweisungen zum modularen Design: https://class.coursera.org/saas/lecture/preview/9
auch dies: " SOA kann in einem Kontinuum gesehen werden, von älteren Konzepten des verteilten Rechnens und der modularen Programmierung über SOA bis hin zu aktuellen Praktiken von Mashups, SaaS , ..."
Die HMVC-Code-Organisation selbst führt nicht unbedingt zu Modularität.
quelle