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.
Ho visto molti riferimenti a Dependency Injection (DI) e Inversion Of Control (IOC), ma non so davvero se c'è una differenza tra loro o no. Vorrei iniziare a usarne uno o entrambi, ma sono un po 'confuso su come siano diversi.
Le parole inverto controlnon sono affatto utilizzate per definire Inversion of Control nelle definizioni che ho visto. definizioni Wikipedia inversion of control (IoC) è una tecnica di programmazione, qui espressa in termini di programmazione orientata agli oggetti, in cui l'accoppiamento di oggetti è vincolato in fase di esecuzione da un …
Sto progettando un nuovo sistema e voglio sapere cos'è l'inversione del controllo (IOC) e, soprattutto, quando usarlo. Deve essere implementato con le interfacce o può essere fatto con le classi?
Sto lavorando a un team in cui il leader del team è un sostenitore virulento dei principi di sviluppo SOLID. Tuttavia, gli manca molta esperienza nell'ottenere software complessi fuori dalla porta. Abbiamo una situazione in cui ha applicato SRP a quella che era già una base di codice piuttosto complessa, …
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 …
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; …
Sto cercando di implementare l'iniezione di dipendenza in un'applicazione relativamente grande ma non ho esperienza in essa. Ho studiato il concetto e alcune implementazioni di IoC e iniettori di dipendenza disponibili, come Unity e Ninject. Tuttavia, c'è una cosa che mi sfugge. Come devo organizzare la creazione dell'istanza nella mia …
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?
Sono un grande fan di DI / IOC. È ottimo per gestire / sottrarre dipendenze difficili e semplifica la vita. Tuttavia ho una piccola lamentela, che non sono sicuro di come risolvere. L'idea di base in DI / IOC è che quando un oggetto viene istanziato, tutte le sue dipendenze …
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 …
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 } …
Mi scuso se questa sembra un'ennesima ripetizione della domanda, ma ogni volta che trovo un articolo sull'argomento, parla principalmente di DI. Quindi, ottengo DI, ma sto cercando di capire la necessità di un contenitore IoC, in cui tutti sembrano entrare. Il punto di un contenitore IoC è davvero solo quello …
Contesto: sto usando C # Ho progettato una classe e, al fine di isolarla e di semplificare i test unitari, sto passando tutte le sue dipendenze; non crea istanze di oggetti internamente. Tuttavia, invece di fare riferimento alle interfacce per ottenere i dati di cui ha bisogno, devo fare riferimento …
Recentemente ho approfondito la programmazione più "organizzata" e ho imparato che avrei dovuto programmare su un'interfaccia, non su un'implementazione. Con questo in mente, sarebbe meglio "disegnare" un progetto in interfacce prima di scrivere l'implementazione per esso dove possibile? E se questo è il caso, nel caso di utilizzo di librerie …
Ho imparato a fare Test Driven Development (TDD), Dependency Injection (DI) e Inversion of Control (IoC) allo stesso tempo. Quando scrivo codice usando TDD finisco sempre con DI nei costruttori della mia classe. Mi chiedo se ciò sia dovuto a come ho imparato a fare il TDD, o se questo …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.