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