Soy un poco novato DI, así que perdónenme si este es el enfoque equivocado o una pregunta tonta.¿Cómo debo solicitar mis parámetros de ctor para DI/IOC?
Digamos que tengo un formulario que crea/actualiza un pedido, y sé que tendrá que recuperar una lista de productos y clientes para mostrar. Quiero pasar el objeto Order que está editando, pero también quiero inyectar ProductsService y CustomersService como dependencias.
Por lo tanto, querré que mi contenedor IoC (el que yo elija) suministre los servicios, pero corresponderá al código de llamada proporcionar el objeto Order para editar.
¿Debo declarar el constructor como tomar el objeto orden que el primer parámetro y el comercialesServicios y CustomersService después de eso, por ejemplo:
public OrderForm(Order order, ProductsService prodsSvc, CustomersService custsSvc)
... o de que las dependencias llegado primero y el objeto Order pasado, por ejemplo:
public OrderForm(ProductsService prodsSvc, CustomersService custsSvc, Order order)
¿Importa? ¿Depende de qué contenedor de IoC utilizo? ¿O hay un mejor camino?
Ok, esto tiene sentido. Entonces, ¿utilizo la inyección de propiedades para todas mis dependencias, o SÓLO transfiero dependencias al controlador e introduzco una propiedad para el objeto "necesario"? –
Sí, tienes razón. No mezcle DP y las propiedades normales porque puede ocasionar problemas imprevistos y limitar el rango de marcos de IoC adecuados. – aku