Bonjour à tous,
Cela fait un petit moment que cette question me taraude ... Mais je ne l'ai jamais posée.
Imaginons que l'on mette en place une architecture multi-tiers pour une application Web quelconque. On a donc la couche de présentation, la couche métier et enfin la couche d'accès aux données.
Faisons un petit focus sur la couche métier ... Imaginons que l'on possède les deux services suivants :
- un service de gestion d'envoi d'email (du genre mise en file d'attente et envoi par lot dans la nuit) ;
- un service de création d'utilisateur.
Rien de bien folichon. Imaginons maintenant que la règle est que lorsqu'un utilisateur est créé, un mail lui est envoyé ... Les deux services cités précédemment sont impactés.
Ma question est donc la suivante ... Quel est la conception la plus intelligente de la couche métier ? A mes yeux, il y a 3 solutions :
- utilisation d'un registre de service (ServiceLocator) ;
- IoC directement dans les services (un service contient une référence vers les autres services dont il dépend) ;
- une pseudo-couche supplémentaire qui regroupe tout les services, dans laquelle on applique la règle (une sorte de Facade en quelque sorte).
Je ne suis convaincu par aucune de ces approches (d'où ma question ) ... Chais pas ... Y a un truc qui ne va pas. Qu'en pensez vous ? Comment avez vous résolu une telle situation ?
Merci beaucoup pour vos réactions !
A.
Partager