Dans un projet récent, j'ai presque terminé, nous avons utilisé une architecture qui, en tant que couche supérieure d'interaction des couches web/services, utilise les classes XXXManager. Par exemple, il existe un service Windows qui s'exécute de manière planifiée et qui importe des données provenant de plusieurs sources de données diverses dans notre système. Au sein de ce service, plusieurs classes "Manager" sont appelées par exemple CPImportScheduleManager, CPImportProcessManager, etc.Classes de gestion
Maintenant, ces classes Manager font beaucoup plus que simplement passer la méthode à la chaîne pour l'utiliser dans les couches web/service. Par exemple ma méthode UserManager.Register() ne persiste pas seulement à l'utilisateur via des assemblages de niveau inférieur mais envoie aussi un push WAP à l'utilisateur et détermine le combiné mobile utilisé, etc.
Il m'a été suggéré que ceci type d'architecture I un moyen courant d'essayer d'intégrer la POO dans un modèle procédural. Je peux voir leur point ici, mais ce que je me demande, c'est qu'avec ce jeu de classes de niveau supérieur, toute couche web/service peut simplement appeler la même méthode commune sans avoir à réécrire le code. Ainsi, si je voulais écrire un service web qui à un moment donné a enregistré un utilisateur, je pourrais à nouveau appeler la méthode UserManager.Register() sans avoir à réécrire toute la logique.
Je n'ai jamais été la meilleure personne pour m'expliquer, mais si mes divagations ont du sens, n'hésitez pas à nous conseiller sur vos alternatives.
Cheers, Chris.