¿Cuándo utilizará la inyección de dependencia? ¿Hay algún beneficio abrumador de usar la inyección de dependencia?Cuándo utilizar la inyección de Dependencia frente al localizador de servicios
5
A
Respuesta
5
Fowler tiene una buena comparación entre los dos en su Inversion of Control Containers and the Dependency Injection pattern Heading. En sus pensamientos finales, dice
La inyección de dependencias es una alternativa útil al localizador de servicios. Cuando crean clases de aplicaciones, las dos son aproximadamente equivalentes, pero I piensan que el Localizador de servicios tiene una ligera ventaja debido a su comportamiento más directo . Sin embargo, si está creando clases para ser utilizadas en múltiples aplicaciones, entonces Dependency Injection es una mejor opción .
Puede encontrar más puntos de vista y las comparaciones en here
Por DI:
- más fácil determinar lo que las dependencias de un componente haya - mira constructor.
- El componente no tiene dependencia en el Localizador de servicios, así que no hay ningún problema si el componente se usa con un marco diferente.
- DI puede hacer más fácil la prueba, pero un buen servicio de ubicación mecanismo hará tropezar igualmente factible
contra el DI:
- Más difícil de depurar y entender.
- El componente no puede solicitar servicios adicionales desde el inyector una vez que se haya configurado.
Cuestiones relacionadas
- 1. Cuándo utilizar la inyección de dependencia? Cuando no?
- 2. ¿Cuándo usa la inyección de dependencia?
- 3. ¿Cuándo utilizaría el localizador de servicios comunes?
- 4. Localizador de servicios, Inyección de dependencia (y contenedor) e Inversión de control
- 5. Inyección de dependencia: ¿debería inyectar todo o usar un localizador de servicios para algunos objetos?
- 6. Uso de Autofac como localizador de servicios
- 7. Inyección de dependencia al utilizar el patrón de comando
- 8. Inyección de Dependencia con Ninject, MVC 3 y usando el Patrón de Localizador de Servicio
- 9. Dependencia de inyección frente a dependencias administradas frente al objeto global
- 10. Cómo utilizar la inyección de dependencia con métodos estáticos?
- 11. Evitar el localizador de servicios con AutoFac 2
- 12. Cuándo utilizar las Propiedades de dependencia
- 13. Patrón de estrategia frente a inyección de dependencia
- 14. ¿Por qué MVC4 usa el Localizador de servicios antipatrón?
- 15. inyección de dependencia y el desarrollo de la productividad
- 16. Inyección de Dependencia con PowerShell
- 17. Inyección de Dependencia wcf
- 18. usar la inyección de la Unidad de Dependencia con servicios WCF
- 19. Al implementar la inyección de dependencia, ¿deberían incluirse excepciones?
- 20. Cuándo utilizar TaskEx.Run frente a TaskEx.RunEx
- 21. TaskCompletionSource: Cuándo utilizar SetResult() frente TrySetResult(), etc
- 22. La inyección de dependencia y la fábrica
- 23. Inyectando el Inyector de Dependencia usando la Inyección de Dependencia
- 24. La inyección de dependencia con múltiples repositorios
- 25. Inyección de dependencia sin marco
- 26. ¿Cómo usar la inyección de dependencia y el patrón de repositorio con servicios web ASP.NET?
- 27. alternativas de inyección de dependencia
- 28. Inyección de dependencia en MVC
- 29. Usa correctamente la inyección de dependencia
- 30. Usar la inyección de dependencia para Properties.Settings.Default?