2011-11-18 14 views
5

Qualcuno può spiegare la differenza traIoC (Windsor) - Che cos'è una "Interfaccia predefinita"?

container.Register(AllTypes.FromAssemblyContaining(typeof(BigCompanyRepository)) 
.WithService.DefaultInterface() 

e

container.Register(AllTypes.FromAssemblyContaining(typeof(BigCompanyRepository)) 
.WithService.AllInterfaces() 

Cosa si intende per un "interfaccia di default"?

risposta

6

E 'un'euristica che looks for an implementation of an interface by removing the leading I:

  • IFoo -> Foo
  • IBar -> Bar
  • IKitchenSink -> kitchensink

Tuttavia, a mio parere, di utilizzare questa funzione odori di un over-abundance of 1:1 interfaces.

+1

ok, ma non è l'intero punto del 1: 1 il DI di componenti/servizi che hanno solo un'implementazione (collegabile) per questa istanza dell'applicazione (che si tratti di un dispositivo di prova o di un'app Web) - il punto essere: pluggability? –

+9

In realtà può anche corrispondere a cose come: 'IFoo' ->' MarksSuperFoo' In sostanza sembra che, dopo aver rimosso il principale 'I' il nome della classe __contains__ il nome dell'interfaccia –

Problemi correlati