Tämä artikkeli on konekäännöksen peiliartikkeli, klikkaa tästä siirtyäksesi alkuperäiseen artikkeliin.

Näkymä: 21356|Vastaus: 1

[Lähde] IoC-tehokas Autofac

[Kopioi linkki]
Julkaistu 13.9.2016 13.14.12 | | |
IoC ~ Tehokas Autofac

Ei ole epäilystäkään siitä, että Microsoftin suosikki IoC-säiliö ei ole spring.net, Unity, vaan Autofac, sen tehokkuuden ja yksinkertaisuuden vuoksi, joten sitä käytetään myös Microsoftin johtamissa hedelmätarhaprojekteissa

havainnollistaa Autofacin käyttöä.


Lopetetaan se nyt:

Seuraavalla luennolla puhun Autofacin käytöstä tietyissä hedelmätarhaprojekteissa.

Katso nyt sen elinkaarta

1、InstancePerDependency

Luo uusi yksilöllinen instanssi jokaiselle riippuvuudelle tai kutsulle. Tämä on myös oletustapa luoda instansseja.

Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle saa uuden, ainutlaatuisen instanssin (oletus).

2、InstancePerLifetimeScope

Elinkaaren domainissa jokainen riippuvuus tai kutsu luo yhden jaetun instanssin, ja jokaiselle eri elinkaaren domainille instanssi on ainutlaatuinen eikä jaettu.

Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuvainen komponentti tai kutsu Resolve():lle yhden ILifetimeScope:n sisällä saa saman, jaetun instansin. Riippuvaiset komponentit eri elinkaarissa saavat erilaisia instansseja.

3、InstancePerMatchingLifetimeScope

Tunnistetussa elinkaaren domainissa jokainen riippuvuus tai kutsu luo yhden jaetun instanssin. Vanhemman domainin instansseja voidaan jakaa tunnistetun elinkaaren domainin lapsiidentiteettidomainissa. Jos koko perintöhierarkiassa ei löydy tunnistettua elinkaaren domainia, heitetään poikkeus: DependencyResolutionException.

Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle ILifetimeScope-tiedostossa, joka on merkitty millä tahansa annetuista tunnisteista, saa saman, jaetun instanssin. Riippuvat komponentit elinikäisissä skooppeissa, jotka ovat merkityn scopen lapsia, jakavat vanhemman instanssin. Jos hierarkiasta ei löydy asianmukaisesti merkittyä laajuutta, DependencyResolutionException heitetään mukaan.

4、InstancePerOwned

Instanssin elinkaaren aikana, jonka omistaa instanssi elinkaaren domainissa, jokainen riippuvainen komponentti tai kutsu Resolve()-metodiin luo yhden jaetun instansin, ja lapsielinkaaren domaini jakaa instanssit vanhemman elinkaaren domainissa. Jos perintöhierarkiasta ei löydy sopivaa elinkaaren domainia, jossa olisi lapsiinstansseja, heitetään poikkeus: DependencyResolutionException.

Virallinen dokumentaatio selittää:

Määritä komponentti niin, että jokainen riippuvainen komponentti tai kutsu Resolve():lle ILifetimeScopessa, jonka omistettu instanssi luo, saa saman jaetun instanssin. Riippuvat komponentit elinikäisissä mittakaavoissa, jotka ovat omistetun instanssin laajuuden lapsia, jakavat vanhemman instanssin. Jos hierarkiasta ei löydy sopivaa omistettua instanssialuetta, heitetään DependencyResolutionException.

5、SingleInstance

Joka kerta kun luotat komponentista tai kutsut Resolve()-metodia, saat saman jaetun instanssin. Itse asiassa kyseessä on singleton-malli.

Virallinen dokumentaatio selittää: Määritä komponentti niin, että jokainen riippuva komponentti tai kutsu Resolve():lle saa saman, jaetun instanssin.

6、InstancePerHttpRequest

Http-pyynnön yhteydessä jaa komponentin instanssi. Saatavilla vain asp.net MVC-kehitykseen.





Edellinen:MVC:n ActionResult
Seuraava:ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
 Vuokraisäntä| Julkaistu 13.9.2016 13.15.50 |
Nuget-asennusmenetelmä:

Asenna Autofac

Install-Package Autofac
Vastuuvapauslauseke:
Kaikki Code Farmer Networkin julkaisemat ohjelmistot, ohjelmamateriaalit tai artikkelit ovat tarkoitettu vain oppimis- ja tutkimustarkoituksiin; Yllä mainittua sisältöä ei saa käyttää kaupallisiin tai laittomiin tarkoituksiin, muuten käyttäjät joutuvat kantamaan kaikki seuraukset. Tämän sivuston tiedot ovat peräisin internetistä, eikä tekijänoikeuskiistat liity tähän sivustoon. Sinun tulee poistaa yllä oleva sisältö kokonaan tietokoneeltasi 24 tunnin kuluessa lataamisesta. Jos pidät ohjelmasta, tue aitoa ohjelmistoa, osta rekisteröityminen ja hanki parempia aitoja palveluita. Jos rikkomuksia ilmenee, ota meihin yhteyttä sähköpostitse.

Mail To:help@itsvse.com