Bonjour,
Je suis en train de réfléchir à une architecture pour une application. J'ai commmencé par réfléchir aux différents modules que je pourrais avoir et je me suis vite rendu compte que j'aurais deux types de modules. J'ai des modules complètement indépendant des autres modules et des modules qui viennent ajouter des fonctionnalités à un autre module.
C'est une application permettant de gérer une collection de films (pour l'instant seulement de films, mais je compte aller plus loin). Pour modulariser un max, je compte faire un module de la gestion des films/acteurs/réalisateurs pour que je puisse ensuite ajouter facilement par exemple un module de gestion des livres/auteurs par exemple. J'ai aussi par exemple un module qui rajoute juste une fonction permettant de gérer une liste de films à acheter.
Mais ensuite, j'ai des modules venant ajouter des fonctions à la gestion des films, comme par exemple les prêts ou alors les statistiques.
Ces modules sont donc fortement dépendant du module "Films".
Je ne sais donc pas trop comment faire avec eux. Est-ce qu'il faut que je crée ces modules en les rendant dépendant de "Films", mais alors il sera impossible de les utiliser si on désinstalle ou désactive le module films. Ou alors je dois créer une architecture de dépendance. C'est à dire un lien entre les deux modules qui indique que si "Films" est désactivé, il faut automatiquement désactiver "Prets".
En plus, un module du genre prêts serait utiles autant dans le cas des films que dans le cas des livres. Donc est-ce qu'il faudrait ensuite que je crée un autre module pour gérer les prêts des livres ou est-ce qu'il faudra que je change mon module de prets pour qu'il accepte les livres, mais dans ce cas, il sera dépendant de deux modules et je ne pense pas que ce soit idéal.
Ou alors dernière solution, est-ce qu'il faut que je laisse la gestion des films et des livres (par exemple) dans le coeur de l'application et ensuite les modules auront directement accès à cette partie. Par contre, j'aimerais laisser la solution de choisir entre "Films", "Films et Livres" et "Livres", ce qui serait plus difficile avec cette solution.
Bref, je ne sais pas vraiment quelle solution serait la bonne.
Qu'en pensez-vous ? Y a t'il d'autres solutions ? Y a t-il de bonnes ressources sur le net (j'ai cherché, mais j'ai pas trouvé grand chose de convaincant, mise à part de toutes petites mises en oeuvre) ?
Merci d'avance de supporter cette longue lecture
Partager