..
"S Inversion of Control (KOK) on tyypillistä kehyksen, joka liikkuu virtauksen valvonta sovelluksen puitteissa itse.
Otetaanpa esimerkki selventämään: Jos luot GUI API kautta keinu , ohjelmoija tarvitsee vain toteuttaa käsittelijät Tapahtumat käynnistyvät käyttäjän, kuten painamalla painiketta tai kirjoittamalla tekstiä. Framework on jätetty soveltamisen valvonta virtaus, kuten sulkeminen ja avattavat ikkunat.
Tällaista käyttäytymistä kutsutaan KOK koska ohjaus on liikuttaa kehittäjä puitteet.
Kun on selvää, mitä KOK, näemme, miten sitä käytetään keväällä.
Kaikki sovellukset koostuvat esineitä, jotka saavuttavat ennalta tavoitteena on yhteistyössä keskenään, ja väistämättä muodostuu riippuvuus.
Normaalisti nämä riippuvuudet ovat ratkaistaan koodi, joka sopii kokoonpano (tyypillisesti valmistaja).
Oletetaan, että meillä on toteuttaa luokan hallintaan videon tallentamiseen:
it.mrwebmaster paketti;
tuonti java.util.ArrayList;
tuonti java.util.List;
{Public class VideoManager
Yksityinen DvdService dvdService;
julkinen VideoManager () {
super ();
/ **
* Kokoonpano ja riippuvuusratkaisijaksi
* /
this.dvdService DvdServiceImpl = uusi ();
}
<Dvd> GetAvalaibleDvdList julkinen lista () {
/ **
* Nouda luettelo DVD
* /
Luettelo <Dvd> dvdList dvdService.getDvdList = ();
/ **
* Läpiohjaus luettelo DVD löytää
* Käytettävissä olevat
* /
List = new ArrayList <Dvd> availabeDvdList <Dvd> ();
varten (DVD DVD: dvdList) {
if (dvd.isDisponibile ()) {
availabeDvdList.add (DVD);
}
}
availabeDvdList palata;
}
}
Tässä esimerkissä luokan VideoManager tehtävänä on toipumassa luettelon Vuokraamattomasta DVD. Lista on palauttaa käyttämällä palvelua (DvdService), joka hakee luettelon kaikista DVD-ja pyöräily luettelossa ovat DVD käytettävissä. Luokan VideoManager siis on riippuvuus esine DvdService, joka on ratkaistu rakentaja.

Jos emme olisi käytetty Kevään meidän pitäisi olla huolissaan ratkaista dipendeza VideoManager luokassa rakentaja, koska riippuvuus olisi ratkaista Spring.
Keväällä sitten, KOK käytetään kääntää hallita määritysasetuksia riippuvuudet.
Tästä syystä se keksi Martin Fowler, kuuluisassa artikkelissa , termi Dependecy Injection (DI), jota käytetään joskus virheellisesti synonyymina KOK id.
Peruskäsite DI on oltava erillinen tavoitteena tehdä riippuvuusratkaisijaksi ja alustus.
Seuraavat kokoaja luokka, tehtävänä on alustaa luokan DvdService:

On olemassa kolmenlaisia Dependecy Injection:
| |
Linux (kurssi)
Täydellinen opas avoimen lähdekoodin järjestelmä. Alkaen 49 €. |
| |
PHP (kurssi)
Täysi tietenkin luoda dynaamisia Web-sivustoja. Alkaen 49 €. |
| |
Ruby ja Ruby on Rails (kurssi)
Luo ohjelmistojen ja web-sovellusten kanssa Ruby ja RoR. Alkaen 39 €. |