Modo ordinato per passare il parametro dell'interfaccia a un costruttore

0

Avere un sacco di Interfaccia che deve passare in un costruttore sembra disordinato, c'è un modo accurato per farlo?

Frammento di codice:

public class Foo
{
    private readonly IRepository1 _repository1;
    private readonly IRepository2 _repository2;
    private readonly IRepository3 _repository3;
    private readonly IRepository4 _repository4;

    public Foo(IRepository1 repository1, IRepository2 repository2, 
               IRepository3 repository3, IRepository4  repository4)
    {
        repository1 = repository1;
        repository2 = repository2;
        repository3 = repository3;
        repository4 = repository4;
    }
}
    
posta rpm07 27.01.2016 - 18:18
fonte

1 risposta

2

Primary Constructors avrebbe aiutato, ma sono stati estratti da C # 6.

Potresti usare certi contenitori di IOC con la magia nera per renderlo look più ordinato.

Ma nemmeno rimuovere il problema sottostante: la tua classe è scomoda perché ha un sacco di dipendenze. Se ha un sacco di dipendenze, probabilmente sta cercando di fare troppo, dal momento che pochi problemi richiedono 4 cose completamente indpendenti come input. Puoi mescolare le cose in giro, ma senza affrontare il problema principale, riceverai odori di codice di alcuni sort.

    
risposta data 27.01.2016 - 19:50
fonte

Leggi altre domande sui tag