En ce qui concerne l'orientation service, notre équipe est impliquée dans de nouvelles conceptions d'applications. Nous sommes constitués d'un groupe de 4 développeurs et d'un manager (qui sait quelque chose sur la programmation et les systèmes distribués). Chacun ayant sa propre opinion sur la conception du service. Il s'agit d'un système distribué: une interface utilisateur (application Web) accédant aux services dans un serveur dédié (à l'intérieur du pare-feu), pour obtenir les opérations logiques métier. donc nous avons eu 2 principales que je Approches liste ci-dessus:Meilleure approche pour concevoir un système orienté service
services modulaires
Avoir de nombreux modules, chacun composé d'un service (WCF). Exemple: namespaces SystemX.DebtService, SystemX.CreditService, SystemX.SimulatorService
Un service unique
Toute la logique métier est centralisée dans un service unique. Exemple: SystemX.OperationService. L'application Web appelle le même service pour toutes les opérations.
Selon vous, quoi de neuf? Ou avoir une autre approche est préférable pour ce scénario?
c'est vrai .. L'interface devrait être simple. en dessous de cette interface, vous pouvez tout mettre dans Business Logic qui se soucie vraiment? –
En séparant les implémentations, vous pouvez localiser et réduire l'impact de tout changement potentiel futur. Par exemple, les modifications apportées à DebtService ne nécessitent pas de test de régression de CreditService car elles peuvent être mises à jour individuellement sans s'influencer les unes les autres. – crowne
@APC - De cette façon (rejoindre la logique métier), nous tombons dans le problème exposé par @crowne: avoir à faire des tests de régression dans les deux services exposés. Mais en les séparant, il est nécessaire de faire des changements dans de nombreux endroits. – Erup