Представьте, что существует класс Customer
с экземпляром метода Load ()
.
Когда Load ()
вызывается метод, он получает сведения о заказе, например,
var orders = Order.GetAll(customerId, ...);
GetAll ()
- это статический метод класса Order
, а входные параметры - это поля, определенные в Customer
class.
Как видите, Order
является зависимостью класса Customer
, однако я не могу просто создать IOrder
и внедрить его там, поскольку у интерфейсов не может быть статических методов.
Следовательно, вопрос в том, как я могу ввести внедрение зависимостей в этом примере?
Я не хочу делать GetAll ()
методом экземпляра так как это статический метод, и его нужно сохранить таким.
Например, я использовал в своем проекте служебные классы, большинство из которых просто содержат статические методы.