Question

J'ai une couche d'affaires qui a des objets d'affaires / pocos / entités / whatever. J'ai aussi quelques référentiels pour l'accès aux données. Jusqu'à ce point, j'ai pu accéder à des dépôts directement de ma couche d'interface utilisateur. Je suis à un point où j'ai réellement besoin des plus classes qui ne sont pas CRUD droite, donc je vais créer des cours de logique métier qui fera la logique et CRUD, et les dépôts ne sera pas accessible par la interface utilisateur plus (ce qui aurait probablement dû être fait dès le début).

Que dois-je appeler ces classes? La seule chose que je peux penser sont des classes de service, mais j'ai des services réels WCF dans cette application, ce qui va le rendre confus. Les services WCF utiliseront aussi ces classes, afin d'avoir un service utiliser une classe de service semble étrange et déroutant.

Était-ce utile?

La solution

J'utilise le « Service » convention de nommage ainsi. Il est vrai que le « service » est devenu un terme très surchargé dans l'industrie, mais il fait le plus de sens. Les développeurs examinent le code devrait être en mesure de déterminer la différence entre une application / service de domaine vs un service de WCF, et tout en ayant un cours appel d'autres service de service WCF peut sembler déroutant, je pense que vous constaterez que ce n'est pas. L'idée d'un service est qu'il est un code qui exécute une fonction, et est disponible pour utilisation par un autre code. Il est peut-être un service interne, ou peut-être un service exposé à l'extérieur via http ou autre. Mais l'idée de ce que le code fait est le même.

Autres conseils

Si vos « services » orchestrent la logique métier en utilisant un certain nombre d'objets de domaine, vous êtes probablement la mise en œuvre Motif de façade - donc peut-être vous pouvez les nommer avec ce suffixe, par exemple OrderManagementFacade

D'après votre description, il semble que les classes WCF mettent en œuvre effectivement un service host . Je nomme généralement ces classes avec un suffixe « ServiceHost ». Il les sépare bien des classes de service réelle.

Ainsi, par exemple, vous auriez votre logique métier dans une classe nommée « CustomerService » et la classe WCF correspondante serait nommé « CustomerServiceHost ».

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top