Imagine que hay una clase Customer
con un método de instancia Load()
.Cómo utilizar la inyección de dependencia con métodos estáticos?
Cuando se llama al método Load()
, recupera los detalles del pedido, p. Ej.
var orders = Order.GetAll(customerId, ...);
GetAll()
es un método estático de la clase Order
y los parámetros de entrada son campos definidos en la clase Customer
.
Como puede ver, Order
es una dependencia de la clase Customer
, sin embargo, no puedo simplemente crear un IOrder
e insertarlo allí ya que las interfaces no pueden tener métodos estáticos.
Por lo tanto, la pregunta es ¿cómo podría introducir la inyección de dependencia en este ejemplo?
No quiero hacer GetAll()
un método de instancia, ya que es un método estático y debe mantenerlo así.
Por ejemplo, he utilizado clases de utilidad en mi diseño, la mayoría de las cuales solo contienen métodos estáticos.
Gracias, estas clases de repositorio y las interfaces serán parte de la capa de acceso a datos? Mi clase de pedido es una entidad comercial mapeada de la tabla de pedidos (utilizando LINQ to SQL). –
@ user133212 es solo una envoltura alrededor de su función existente. entonces, donde sea que esa función lógicamente pertenezca a capas, también pondría el contenedor. –