Nopea intro Riippuvuus Injektio: mitä se on, ja milloin sitä pitäisi käyttää

Bhavya Karia

Johdanto

software engineering, riippuvuus injektio on tekniikka, jossa yhden objektin (tai staattinen menetelmä) tarvikkeet riippuvuudet toisen objektin. Riippuvuus on esine, jota voidaan käyttää (palvelu).

Se on Wikipedian määritelmä, mutta silti, mutta se ei ole erityisen helppo ymmärtää. Ymmärretäänpä se paremmin.,

ennen kuin ymmärrämme, mitä se tarkoittaa ohjelmoinnissa, katsotaan ensin, mitä se tarkoittaa yleisesti, koska se auttaa ymmärtämään konseptia paremmin.

riippuvuus tai riippuvainen tarkoittaa tukeutumista johonkin tukeen. Kuten jos sanon, että luotamme liikaa matkapuhelimiin kuin se tarkoittaa, että olemme riippuvaisia niistä.

Joten ennen saada riippuvuutta injektiot, katsotaanpa ensin ymmärtää, mitä riippuvuus ohjelmointi tarkoittaa.

kun A-luokka käyttää jotakin B-luokan toiminnallisuutta, sen mukaan A-luokka on riippuvainen B-luokasta.,

Osoittaa riippuvuuksia luokkien välillä

Java, ennen kuin voimme käyttää menetelmiä, muissa luokissa, meidän täytyy ensin luoda kohde, että luokka (eli luokka A tarvitsee luoda esimerkiksi B-luokan).

joten kohteen luomisen tehtävän siirtämistä jollekin toiselle ja suoraan riippuvuuden käyttöä kutsutaan riippuvuussuihkutukseksi.

Mitä jos koodi voisi puhua?

Miksi minun pitäisi käyttää riippuvuus injektio?,

sanotaan, että meillä on auto luokka, joka sisältää erilaisia esineitä, kuten pyörät, moottori, jne.

tässä autoluokka vastaa kaikkien riippuvuuskohteiden luomisesta. Entä jos päätämme jättää Mrfwheelsin tulevaisuudessa ja haluamme käyttää Jokohaman pyöriä?

autokohde pitää luoda uudelleen uudella Yokohama-riippuvuudella. Mutta kun käyttää dependency injection (DI), voimme vaihtaa Pyörät suorituksen (koska riippuvuudet voidaan antaa suorituksen sijaan käännöksen yhteydessä).,

Voit ajatella DI kuin välikäsi meidän koodi, joka tekee kaiken työn luoda haluamasi pyörät esineen ja antaa sen Auton luokka.

se tekee autoluokastamme riippumattoman pyörien, akun jne. esineiden luomisesta.

On periaatteessa kolmenlaisia riippuvuus injektio:

  1. rakentaja injektio: riippuvuudet ovat kautta luokan rakentaja.
  2. setter injection: asiakas paljastaa setter-menetelmän, jota injektori käyttää riippuvuussuhteen pistämiseen.,
  3. käyttöliittymä injektio: riippuvuus tarjoaa injector menetelmä, joka pistää riippuvuus mihin tahansa asiakkaan kulunut. Asiakkaiden on toteutettava käyttöliittymä, joka paljastaa setter-menetelmän, joka hyväksyy riippuvuuden.

Joten nyt sen riippuvuus injektio vastuu:

  1. Luo esineet
  2. Tietää, mitkä luokat vaativat nämä esineet
  3. Ja antaa heille kaikki nämä esineet

Jos siellä on jokin muutos esineitä, sitten DI tutkii sitä ja se pitäisi koskea luokka käyttää näitä esineitä., Näin jos esineet muuttuvat tulevaisuudessa, niin sen DI: n vastuulla on tarjota luokalle sopivia esineitä.

Inversion of control —käsitteen takana DI

Tämän todetaan, että luokan pitäisi määrittää sen riippuvuudet staattisesti, mutta olisi määritetty jokin muu luokan ulkopuolelta.

Se on viides periaate S. O. L. I. D — viisi perus periaatteet, olio-ohjelmointi ja design by Bob-Setä — jossa todetaan, että luokan pitäisi riippua siitä, abstraktio ja ei kun concretions (yksinkertaistettuna, kova-koodattu).,

periaatteiden Mukaan, luokan pitäisi keskittyä täyttämään velvollisuutensa ja ei luoda esineitä, joita se tarvitsee voidakseen täyttää nämä velvollisuudet. Ja siihen tulee huoltosuhteen ruiskutus: se antaa luokalle tarvittavat esineet.

Huomaa: Jos haluat oppia Bob-sedän kiinteistä periaatteista, voit suunnata tähän linkkiin.

hyöty di

  1. – valmisteen käytöstä auttaa Yksikkötesteissä.
  2. Kattilalevyn koodi pienenee, sillä riippuvuuksien alustaminen tapahtuu injektorikomponentilla.,
  3. hakemuksen jatkaminen helpottuu.
  4. mahdollistaa löyhän kytkennän, mikä on tärkeää sovellusohjelmoinnissa.

Haitat DI

  1. Se on vähän monimutkainen oppia, ja jos overused, voi johtaa hallinnan kysymykset sekä muita ongelmia.
  2. monet käännösaikavirheet työnnetään aika-ajoon.
  3. riippuvuuden ruiskutuspuitteet toteutetaan harkinnalla tai dynaamisella ohjelmoinnilla. Tämä voi haitata IDE-automaation käyttöä, kuten” Etsi referenssejä”,” Näytä puheluhierarkia ” ja turvallinen refaktorointi.,

Voit toteuttaa riippuvuus injektio yksin (Puhdas Vanilja) tai käyttää kolmannen osapuolen kirjastoja tai kehyksiä.

Kirjastot ja Puitteita, jotka toteuttavat DI

  • Keväällä (Java)
  • Google Guice (Java)
  • Tikari (Java-ja Android)
  • Castle Windsor (.NETTO)
  • Yhtenäisyys(.,NETTO)

lisätietoja riippuvuus injektio, voit tarkistaa alla luonnonvaroja:

Java Riippuvuus Injektio — DI-suunnittelumalli Esimerkki Opetusohjelma — JournalDev

Käyttää riippuvuus injektio Java — Johdanto — Opetusohjelma — Vogella

Inversion of Control Säiliöt ja Riippuvuus Injektio pattern — Martin Fowler

Toivon, että se auttaa!

Jos pidät artikkelin ja haluat lukea lisää uskomattomia artikkeleita, niin älä seuraa minua täällä (Bhavya Karia) ja näyttää tukea, koska se motivoi minua kirjoittamaan enemmän.,

Jos sinulla on minulle kysyttävää tai palautetta kuin let ’ s connect LinkedInissä, Twitterissä , Facebookissa.

Edit 1:

Sergei Ufocoderin ansiosta nyt tämä artikkeli on muutettu Venäjän kieleksi. Venäläiset ystäväni ja jotka kaikki voivat lukea venäjän kieltä antavat sille lukea.

Linkki artikkeliin

Myös, jos haluat hakea DI JavaScript ja etsivät library sitten Jo Surikat viittaa siihen, että voit antaa kokeilla hänen kirjastoon.

Di-Ninja

vielä Yksi mahtava DI kirjasto JavaScript ehdotti Nicolas Froidure.,

knifecycle

Edit 2:

Jos olet PHP kehittäjä sitten älä huoli, minulla on kaikki katettu samoin. Gordon Forsythe suositteli tätä mahtavaa kirjastoa, jota te kaikki haluaisitte kokeilla.

auryn

Kiitos kaikille ystävällisistä sanoista, joita olen saanut. Jaa kirjoitus, jotta yhä useammat ihmiset voivat hyötyä siitä.

Share

Vastaa

Sähköpostiosoitettasi ei julkaista. Pakolliset kentät on merkitty *