Domanda

sono di casa oggetto con questo tipo di progettazione: Interfaccia e diverse implementazioni, e l'uso di diversi oggetti dalla composizione. Esempio: Foo implementa IFoo e avere un oggetto che implementa Bar IBar Foo hanno anche una setBar (IBar bar) Metodo per l'iniezione di dependancie.

La mia domanda è: il setter sould't sia nell'interfaccia? (Per i test, derisione ... io sono bloccato!)

È stato utile?

Soluzione

Se si utilizza il polimorfismo, cioè, chiamando il setter sul tipo di interfaccia, poi, ovviamente, è necessario che nell'interfaccia.

Altri suggerimenti

Per avere un setter nell'interfaccia solo per beffardo e il test non è buona. Così si permette gli utenti di tale interfaccia per i componenti insieme arbitrario, anche se le proprietà di tale oggetto, probabilmente non dovrebbero essere modificabili dopo la costruzione. L'interfaccia non dovrebbe rivelare come costruire oggetti.

In entrambi i iniettare bar a foo utilizzando iniezione setter. In un contesto in cui Foo non può esistere senza bar sarebbe più appropriato per iniettare Bar con un costruttore.

Leggi ulteriori: Tipi di iniezione di dipendenza

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top