Data la classe:
public class Foo : IFoo
{
private IBarRepository repository
public Foo(IBarRepository repository)
{
this.repository = repository
}
public IList<IBar> Bars { get; private set; }
}
Il mio istinto di vecchia data è quello di inizializzare l'elenco di IBar nel costruttore: this.Bars = new List<IBar>();
ma usando Iniezione costruttore , la Responsabilità singola del costruttore è adatta a imposta le dipendenze per la classe.
Qual è il modo migliore per gestirlo?
Dovrei avere un inizializzatore di raccolta che richiami in qualsiasi metodo prima di utilizzare la raccolta?
private void InitialiseCollection()
{
if (this.Bars == null)
{
this.Bars = new List<IBar>();
}
}
public void Add(IBar bar)
{
this.InitialiseCollection();
this.Bars.Add(bar)
}