Domande taggate «inversion-of-control»

Inversion of control (IoC) è un principio astratto che descrive un aspetto di alcuni progetti di architettura software in cui il flusso di controllo di un sistema è invertito rispetto alla programmazione procedurale.





5
I contenitori IOC infrangono i principi OOP
Qual è lo scopo dei contenitori IOC? Le ragioni combinate di ciò possono essere semplificate come segue: Quando si utilizzano i principi di sviluppo OOP / SOLID, l'iniezione di dipendenza diventa disordinata. O hai i punti di ingresso di livello superiore che gestiscono le dipendenze per più livelli sottostanti e …

4
Perché abbiamo bisogno di framework per l'iniezione delle dipendenze? [chiuso]
Ho letto di più sul principio dell'inversione del controllo e dell'iniezione delle dipendenze come una sua attuazione e sono abbastanza sicuro di capirlo. Sembra in sostanza dire "non dichiarare le istanze dei membri della classe all'interno della classe". Piuttosto che le istanze dovrebbero essere passate e assegnate attraverso il costruttore; …


2
Esistono prove del fatto che l'uso dell'iniezione di dipendenza migliora i risultati nell'ingegneria del software?
Nonostante la sua popolarità, ci sono prove empiriche che dimostrano che l'iniezione di dipendenza (e / o l'uso di un contenitore DI) aiuta, diciamo, a ridurre il numero di bug, migliorare la manutenibilità o aumentare la velocità di sviluppo su progetti software nella vita reale?


1
Pratiche relative al contenitore Injection / IoC per le dipendenze durante la scrittura di framework
Ho usato vari contenitori IoC (Castle.Windsor, Autofac, MEF, ecc.) Per .Net in numerosi progetti. Ho scoperto che tendono ad essere frequentemente abusati e incoraggiano una serie di cattive pratiche. Esistono pratiche consolidate per l'utilizzo del contenitore IoC, in particolare quando si fornisce una piattaforma / framework? Il mio obiettivo come …

3
Vendimi su contenitori IoC, per favore
Ho visto diversi raccomandare l'uso di contenitori IoC nel codice. La motivazione è semplice Prendi il seguente codice iniettato di dipendenza: class UnitUnderTest { std::auto_ptr<Dependency> d_; public: UnitUnderTest( std::auto_ptr<Dependency> d = std::auto_ptr<Dependency>(new ConcreteDependency) ) : d_(d) { } }; TEST(UnitUnderTest, Example) { std::auto_ptr<Dependency> dep(new MockDependency); UnitUnderTest uut(dep); //Test here } …





Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.