Question

Alors, j'ai seperated mes contrats de service WCF des contrats distincts pour la réutilisation.

J'utiliser pour avoir IOneServiceContract contenant 3 fonctions: Fonction1, fonction2, FUNCTION3.

J'ai separes ce contrat de service en deux contrats de services distincts: IServiceContract1 et IServiceContract2. IServiceContract1 contient Fonction1 et IServiceContract2 contient Function2 et FUNCTION3. Cela me permettra de réutiliser le IServiceContract1 discret et / ou IServiceContract2 pour construire un nouveau contrat de service qui représente le contrat de service public.

Sachant cela ... et je l'espère, je ne l'ai pas foiré la description de sorte que vous ne pouvez pas suivre le reste ...

j'ai deux services IService1 et IService2.
IService1 implémente IServiceContract1 et IServiceContract2. Cela fonctionne parfaitement comme IService1 a besoin de mettre en œuvre toutes les fonctions:. Fonction1, fonction2, FUNCTION3

IService2 n'a cependant pas besoin de mettre en œuvre toutes les fonctions de IServiceContract2, que Fonction1.

Y at-il un moyen pour IService2 de mettre en œuvre partiellement le contrat? Je sais que cela semble ridicule. La bonne façon de gérer cette situation pour essayer de séparer logiquement IServiceContract2 de sorte que IService2 a seulement pour mettre en œuvre les pièces dont il a besoin?

Merci

Était-ce utile?

La solution

Si vous souhaitez mettre en œuvre un contrat de service, vous devez mettre en œuvre tout. Voilà pourquoi le « I » dans la section SOLID principe de développement est appelé « Interface Principe Ségrégation »:. faire vos interfaces aussi petit que possible afin qu'un implémenteur ne pas mettre en place un tas de méthodes qu'il est vraiment pas intéressé par

Il semble que vous avez essentiellement embrassée ce principe - la question est: Pouvez-vous diviser vos méthodes de manière différente? Ou serait-il mal à les diviser en trois contrats de services distincts?

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