L'Injection de dépendance - Quand utiliser la propriété d'injection

J'ai une classe qui dispose d'un constructeur comme ceci:

    private string _someString;
    private ObjectA _objectA;
    private ObjectB _objectB;
    private Dictionary<Enum, long?> _dictionaryA;
    private Dictionary<Tuple<Enum,long?>, long?> _dictionaryB; 

    public SomeDiClass(string someString)
    {
        _someString = someString;

        _objectA = new ObjectA();
        _objectB = new ObjectB();

        _dictionaryA = new Dictionary<Enum, long?>();
        _dictionaryB = new Dictionary<Tuple<Enum, long?>, long?>();
    }

Je veux obtenir la dépendance de la création de ce constructeur. Dans un premier temps, je voudrais déplacer le ObjectA et B de la dépendance pour les constructeurs paramètres de les injecter via le constructeur de l'injection. Je voudrais utiliser un conteneur IoC à cette fin, c'est là que je suis bloqué pour le moment. La question est de savoir quoi avec someString et les dictionnaires. J'ai besoin de les injecter à la classe, parce que le contenu des dictionnaires sera une partie importante de tests unitaires.
Serait-ce une bonne idée d'injecter de la chaîne et les dictionnaires via la propriété d'injection (je n'ai pas besoin d'eux dans d'autres classes), donc je me retrouver avec quelque chose comme ça?:

    private ObjectA _objectA;
    private ObjectB _objectB;

    public string SomeString { get; set; }
    public Dictionary<Enum, long?> DictionaryA { get; set; }
    public Dictionary<Tuple<Enum, long?>, long?> DictionaryB { get; set; }

    public SomeDiClass(ObjectA objectA, ObjectB objectB)
    {
        _objectA = objectA;
        _objectB = objectB;
    }

Est la meilleure pratique pour résoudre quelque chose comme cela?

  • quand vous dites cio? parlez-vous de printemps, framework java? ou autre chose? ty.
  • En général. Le projet actuel est en C#, donc je me retrouver avec quelque chose comme de l'Unité.
InformationsquelleAutor cb_dev | 2013-09-13