Pregunta

Tenemos gran cantidad de objetos con este tipo de diseño de interfaz y varias implementaciones, y el uso de varios objetos por la composición. Ejemplo: Foo implementa IFoo y tienen un objeto que implementa Bar IBar Foo también tiene un método setBar (IBar bar) para la inyección de dependancie.

Mi pregunta es: el colocador sould't estar en la interfaz? (Para las pruebas, que imita ... estoy atascado!)

¿Fue útil?

Solución

Si está utilizando polimorfismo, es decir, llamando a la incubadora del tipo de interfaz, es obvio que se necesita en la interfaz.

Otros consejos

Para tener un colocador en la interfaz sólo por burla y la prueba no es bueno. Por lo tanto usted permite que los usuarios de esa interfaz para componentes conjunto arbitrario, a pesar de que las propiedades de ese objeto, probablemente, no deben ser modificables después de la construcción. La interfaz no debe revelar cómo construir objeto.

Cualquiera de inyectar a foo bar mediante inyección colocador. En un contexto donde Foo no puede existir sin barra que sería más apropiado para inyectar bar con un constructor.

Para saber más: Tipos de inyección de dependencias

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