Estoy usando Dependency Injection en mi código (con Ninject) y pensé que me estaba yendo bastante bien hasta que encontré un problema de rendimiento causado por un malentendido acerca de dónde cabían los contenedores DI en tu código. Parece que hay mucha información sobre cómo usar marcos DI pero no demasiado sobre dónde no usarlos o cómo usarlos (al menos eso pude encontrar)Mejores prácticas de inyección de dependencia
Pensé que escribiría lo que Pensé en algunas de las mejores prácticas y ver si otras personas están de acuerdo conmigo y qué otras mejores prácticas se pueden haber propuesto.
- Utilice uno de granos por aplicación o dominio de aplicación
- Uso del contenedor DI para Singleton de larga vida sólo objetos, fábricas de uso (u otros métodos) para objetos transitorios de corta duración)
- Prefiero Constructor de inyección sobre la propiedad o Inyección de campo
- Solicitar objetos, no crearlos
- others ?? consejos para buenos blogs/artículos?
¿Qué es kernel? ¿Es ese un concepto específico de Ninject (no lo han visto en ningún otro lado)? – zvolkov
también, las inyecciones setter vs. constructor es un argumento religioso y, como tal, debe evitarse. – zvolkov