Estoy interesado en aplicar la inyección de dependencia a mi proyecto actual, que hace uso del patrón MVC.¿Cómo evitar inyectar dependencias en un objeto para que pueda pasarlas?
Mis controladores llamarán a los modelos y, por lo tanto, deberán inyectar las dependencias en los modelos. Para hacer esto, el controlador debe tener las dependencias (como un objeto de base de datos) en primer lugar. El controlador no necesita hacer uso de algunas de estas dependencias (como el objeto de la base de datos), por lo que creo que no se debe dar esta dependencia. Sin embargo, tiene que tener estas dependencias para inyectarlas en los objetos modelo.
¿Cómo puedo evitar tener dependencias inyectadas en un objeto solo para que pueda pasarlas? Si lo hace, se siente mal y puede provocar que muchas dependencias se inyecten en un objeto.
Editar: Estoy usando PHP.
No entiendo completamente lo que usted propone que haga con su primera opción. ¿Está agrupando las dependencias y pasándolas como una sola? –
Esa es una opción. El punto principal, sin embargo, es que el consumidor no debe crear la dependencia en absoluto, sino más bien solicitarla requiriéndola como un parámetro de constructor. –
¿No agrupa las dependencias y las pasa al controlador, prácticamente lo mismo que pasarlas todas individualmente? Es una forma diferente de hacerlo, pero aún está pasando dependencias al controlador que no utiliza. ¡Aunque creo que no entendí lo que querías decir! –