Dans les mois à venir, nous allons commencer un projet dans lequel nous prenons un système que nous avons construit pour un client (v1) et le reconstruisons à partir de zéro. Notre objectif avec v2 est de le rendre modulaire, afin que ce client spécifique utilise son propre ensemble de modules, puis qu'un autre client puisse utiliser un ensemble de modules totalement différent. L'astuce ici est que la société A peut avoir une série de modules de paiement et d'utilisateur qui changent le fonctionnement de ce système. La société B peut s’en tenir à la procédure de paiement standard, mais personnaliser le mode de navigation des produits.
Quelles sont les bonnes approches en matière d’architecture d’application lorsque vous créez une application à partir de zéro et que vous souhaitez que Core
celle-ci soit partagée entre tous les clients tout en conservant la flexibilité nécessaire à la modification de tout élément spécifiquement modifié pour un client?
J'ai vu les hameçons de CodeIgniter et je ne pense pas que ce soit une bonne solution car nous pourrions nous retrouver avec 250 hameçons et ce n'est toujours pas assez flexible. Quelles sont les autres solutions? Idéalement, nous n'aurons pas besoin de tracer une ligne dans le sable.
la source
RenderAction()
Je ne suis pas un gars de PHP, mais du côté des scripts java, si vous souhaitez conserver autant de modules que vous souhaitez garder aussi indépendants que possible, il existe plusieurs systèmes pour cela, tels que RequireJS , qui ont des scripts java. modules qui déclarent des dépendances sur d'autres modules, et la structure s'assure qu'ils sont chargés en cas de besoin.
Les différentes structures disponibles varient en fonction de la déclaration des dépendances, du nombre de manipulations de dépendance effectuées lors de la création du serveur, du chargement de la page ou du dynamisme à la demande, et de la modification de la manière dont vous écrivez votre code java. scénario.
Ces frameworks ne s'appliquent pas autant (ou peut-être même pas) si votre framework côté serveur gère cela ou génère votre script java pour vous, mais vous pouvez éventuellement souhaiter que votre script java soit indépendant de votre framework côté serveur.
Si vous n'avez pas trop de script java mais que vous voulez une certaine modularité, vous pouvez toujours vous en tenir à des fonctions d'appels anonymes qui gèrent les dépendances en ordonnant d'abord les balises de script avec des dépendances et en se référant les unes les autres en s'enregistrant avec un seul objet. l'espace de noms global. Cela les rend au moins presque modulaires et ne vous coûte pas beaucoup de mise en oeuvre.
la source
Voici quelques instructions sur la conception modulaire: https://class.coursera.org/saas/lecture/preview/9
ceci aussi: "La SOA peut être vue dans un continuum, des concepts plus anciens d'informatique distribuée et de programmation modulaire , en passant par la SOA, aux pratiques actuelles de mashups, SaaS , ..."
L’organisation du code HMVC en soi ne conduit pas nécessairement à la modularité.
la source