Comment utiliser l'Injection de Dépendance avec des Méthodes Statiques?

Imaginer qu'il y est un Customer classe avec une instance Load() méthode.

Lorsque le Load() méthode est appelée, elle récupère les détails de la commande, par exemple par des

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

GetAll() est une méthode statique de la Order classe et les paramètres d'entrée sont les champs définis dans la Customer classe.

Comme vous pouvez le voir, Order est une dépendance de la Customer classe, cependant, je ne peux pas il suffit de créer un IOrder et de l'injecter là que les interfaces ne peuvent pas avoir des méthodes statiques.

Par conséquent, la question est comment pourrais-je introduire l'injection de dépendance dans cet exemple?

Je ne veux pas faire GetAll() une méthode d'instance puisque c'est une méthode statique et de la nécessité de garder de cette façon.

Par exemple, j'ai utilisé l'utilitaire de classes dans ma conception, dont la plupart ne contiennent que des méthodes statiques.

OriginalL'auteur The Light | 2011-06-29