Как использовать внедрение зависимостей со статическими методами?

Представьте, что существует класс Customer с экземпляром метода Load () .

Когда Load () вызывается метод, он получает сведения о заказе, например,

var orders = Order.GetAll(customerId, ...);

GetAll () - это статический метод класса Order , а входные параметры - это поля, определенные в Customer class.

Как видите, Order является зависимостью класса Customer , однако я не могу просто создать IOrder и внедрить его там, поскольку у интерфейсов не может быть статических методов.

Следовательно, вопрос в том, как я могу ввести внедрение зависимостей в этом примере?

Я не хочу делать GetAll () методом экземпляра так как это статический метод, и его нужно сохранить таким.

Например, я использовал в своем проекте служебные классы, большинство из которых просто содержат статические методы.

12
задан The Light 2 August 2014 в 12:28
поделиться