Dipendenza inversione è garantire i moduli di livello più alto non dipendono da moduli di livello inferiore, quindi la logica dell'applicazione non dipende dal modello di business o dalla logica aziendale.Esiste una chiara separazione dei problemi
Il principio afferma che l'applicazione definisce e possiede un'interfaccia del livello aziendale deve implementare il tuo livello aziendale dipende dall'interfaccia definita dell'applicazione. Quindi le dipendenze sono invertite.
Espandendo questo aspetto, se ora disponi di tre applicazioni, ognuna con le proprie interfacce implementate dal livello aziendale, il tuo livello aziendale può cambiare e fintanto che implementano le interfacce come devono, allora le tue applicazioni non ne sono più saggi.
Un buon java esempio di questo principio e come un tale progetto sarebbe stato strutturato può essere trovato qui, sul mio sito web: http://www.jeenisoftware.com/maven-dip-principle-example/
inversione di dipendenza non è tanto sul design per interfacciarsi, anche se questo è ciò che sta accadendo , si tratta più dell'implementazione di un servizio. In altre parole una sorta di modello di progettazione orientata al servizio.
fonte
2013-02-14 23:14:08
Intendi Dipendenza iniezione (alias Inversion of Control)? – tehvan
Non riesco a trovare alcuna informazione su Google per il "principio del design sulle interfacce" - puoi spiegare cosa intendi con questo? – Trumpi
Probabilmente si intende "design per contratto" – troelskn