Abhängigkeitsinjektion - Wann wird die Eigenschaftsinjektion verwendet?

Ich habe eine Klasse, die einen Konstruktor wie diesen hat:

    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?>();
    }

Ich möchte die Abhängigkeitserstellung aus diesem Konstruktor heraus erhalten. In einem ersten Schritt würde ich die ObjectA- und B-Abhängigkeit zu den Konstruktorparametern verschieben, um sie über die Konstruktorinjektion zu injizieren. Ich würde gerne einen IoC-Container für diesen Zweck verwenden, da bin ich im Moment geblieben. Die Frage ist, was mit someString und den Wörterbüchern zu tun ist. Ich muss sie der Klasse geben, da der Inhalt der Wörterbücher ein wichtiger Bestandteil von Unit-Tests sein wird. Wäre es eine gute Idee, den String und die Wörterbücher über die Eigenschaftsinjektion einzuspritzen (ich brauche sie nicht in anderen Klassen), damit ich am Ende so etwas erhalte ?:

    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;
    }

Gibt es eine bewährte Methode, um so etwas zu lösen?

Antworten auf die Frage(2)

Ihre Antwort auf die Frage