Domanda

Così, ho seperated i miei contratti di servizio WCF in contratti distinti per il loro riutilizzo.

I utilizzare per avere IOneServiceContract che conteneva 3 funzioni: Function1, function2, function3.

Ho separato il contratto di servizio in due contratti di servizio distinti: IServiceContract1 e IServiceContract2. IServiceContract1 contiene Funzione1 e IServiceContract2 contiene Function2 e function3. Questo mi permetterà di riutilizzare la discreta IServiceContract1 e / o IServiceContract2 per costruire un nuovo contratto di servizio che rappresenta il contratto per il servizio pubblico.

Sapendo questo ... e si spera non ho incasinato la descrizione in modo che non si può seguire il resto ...

Ho due servizi IService1 e IService2.
IService1 implementa IServiceContract1 e IServiceContract2. Questo funziona perfetto come IService1 deve implementare tutte le funzioni:. Function1, function2, FUNCTION3

IService2 tuttavia non ha bisogno di implementare tutte le funzioni di IServiceContract2, solo Function1.

C'è un modo per IService2 per attuare parzialmente il contratto? So che suona ridicolo. È il modo corretto per gestire questa situazione per cercare di separare logicamente IServiceContract2 modo che IService2 deve solo implementare i pezzi di cui ha bisogno?

Grazie

È stato utile?

Soluzione

Se si desidera implementare un contratto di servizio, è necessario implementare il tutto. Ecco perché l ' "io" nel SOLID principio di sviluppo è chiamato "Interface Segregazione Principio":. rendere le interfacce più piccolo possibile in modo che un implementor non deve implementare una serie di metodi che in realtà non è interessato a

Sembra che hai praticamente abbracciato questo principio - la domanda è: hai potuto dividere i vostri metodi in modo diverso? O sarebbe fatto male a dividerli in tre distinti contratti di servizio?

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top