Pregunta

Por lo tanto, he seperated mis contratos de servicio WCF en contratos separados para su reutilización.

I utilizar para tener IOneServiceContract que contenía 3 funciones: FUNCTION1, FUNCTION2, FUNCTION3.

He seperated este contrato de servicio en dos contratos de servicios discretos: IServiceContract1 y IServiceContract2. IServiceContract1 contiene Función1 y IServiceContract2 contiene Función2 y FUNCTION3. Esto me permitirá volver a utilizar el IServiceContract1 discreta y / o IServiceContract2 para construir un nuevo contrato de servicio que representa el contrato para el servicio público.

Sabiendo esto ... y es de esperar que no he estropeado la descripción de modo que no se puede seguir el resto ...

Tengo dos servicios IService1 y IService2.
IService1 implementa IServiceContract1 y IServiceContract2. Esto funciona perfecto como IService1 tiene que implementar todas las funciones:. FUNCTION1, FUNCTION2, FUNCTION3

IService2 sin embargo no tiene que implementar todas las funciones de IServiceContract2, solamente Función1.

¿Hay una manera de IService2 para implementar parcialmente el contrato? Sé que suena ridículo. Es la forma correcta de manejar esta situación para tratar de separar lógicamente IServiceContract2 modo que IService2 solamente tiene que poner en práctica las piezas que necesita?

Gracias

¿Fue útil?

Solución

Si se desea implementar un contrato de servicio, usted tiene que poner en práctica todo. Es por eso que el "yo" en el SOLID principio de desarrollo se denomina "Interfaz de Segregación Principio":. hacer sus interfaces de tan pequeño como sea posible para que un implementador no tiene que implementar un montón de métodos que realmente no está interesado en

Parece que has abrazado básicamente ese principio - la pregunta es: ¿podría dividir sus métodos de manera diferente? ¿O sería herir a dividirlas en tres contratos de servicio independientes?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top