Refactorisation d'une classe statique à utiliser avec l'injection de dépendances

Nous avons besoin d'utiliser un non géré bibliothèque dans notre code qui a des méthodes statiques. J'aimerais vous présenter le fonctionnement de la bibliothèque en tant que dépendance dans mon code. Et en plus d'avoir des méthodes statiques, la bibliothèque dispose d'une méthode d'initialisation et paramétrage de la méthode, à la fois globales. Donc je ne peux pas juste envelopper dans une instance de la classe, parce que si une instance modifie un paramètre, tous les autres cas seront touchés, et si une instance est initialisé, tous les autres cas seront réinitialisés.

J'ai pensé à de la présenter comme une classe singleton. De cette manière, il sera une instance de la classe, mais il n'y aura qu'un seul exemple donc je ne vais pas avoir à vous soucier de changer les paramètres ou de l'initialisation. Que pensez-vous de cette approche? Je suis assez nouveau à l'injection de dépendance modèle et je ne suis pas sûr si le pattern singleton est une bonne solution? Quelle serait votre solution à un cas similaire?

Edit: L'initialisation prend un paramètre trop, donc je ne peux pas verrouiller les appels de méthode et de ré-initialiser et modifier les paramètres à chaque fois qu'il est appelé.

Edit 2: Voici la signature de certaines méthodes:

public static void Initialize(int someParameter)
//Parameter can only be changed by re-initalization which
//will reset all the settings back to their default values.

public static float[] Method1(int someNumber, float[] someArray)

public static void ChangeSetting(string settingName, int settingValue)

source d'informationauteur hattenn