Domanda

Cosa si intende per "principio di inversione di dipendenza" in programmazione orientata agli oggetti? Che cosa fa?

È stato utile?

Soluzione

Nella programmazione orientata agli oggetti,
 il principio di inversione di dipendenza si riferisce ad una specifica forma di disaccoppiamento dove relazioni di dipendenza convenzionale stabilito da alto livello, moduli a basso livello diregolazione-, moduli di dipendenza sono invertiti (es invertito) allo scopo di rendere moduli ad alta livello indipendenti dalla basso livello dettagli di implementazione del modulo.

Il principio afferma:

A. Moduli di alto livello non dovrebbe dipendere moduli di basso livello. Entrambi dovrebbero dipendere astrazioni.

B. Astrazioni non dovrebbero dipendere dettagli. Dettagli dovrebbero dipendere astrazioni.

Fonte

Altri suggerimenti

Il motivo principale per l'utilizzo di inversione di dipendenza è quello di consentire diverse implementazioni di tali moduli di livello inferiore per essere selezionata sia al momento della compilazione nell'applicazione o in fase di esecuzione della configurazione. Questa è una grande vittoria per il test perché permette di isolare completamente il codice in fase di test e utilizzare finto gli oggetti .

Un altro modo in cui questo è un grande aiuto è per le distribuzioni di client. Diciamo che avete clienti diversi, con diversi sistemi di autenticazione, o database diversi, o sistemi di segnalazione, o qualsiasi altra cosa. È possibile configurare il proprio sistema in fase di distribuzione, modificando un file XML di scegliere i giusti implementazioni di tali componenti a carico, senza modifiche al codice a tutti.

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