See artikkel on masintõlke peegelartikkel, palun klõpsake siia, et hüpata algse artikli juurde.

Vaade: 21356|Vastuse: 1

[Allikas] IoC efektiivne Autofac

[Kopeeri link]
Postitatud 13.09.2016 13:14:12 | | |
IoC ~ Tõhus Autofac

Pole kahtlust, et Microsofti lemmik IoC konteiner ei ole spring.net, Unity, vaid Autofac, tänu selle tõhususele ja lihtsusele, mistõttu kasutatakse seda ka Microsofti juhitud õunaaia projektides

illustreerib Autofaci kasutamist.


Lõpetame nüüd:

Järgmises loengus räägin Autofaci kasutamisest konkreetsetes projektides viljapuuaedade projektides.

Vaata nüüd selle elutsüklit

1、InstancePerDependency

Loo iga sõltuvuse või kõne jaoks uus unikaalne instants. See on ka vaikimisi viis instantside loomiseks.

Ametlik dokumentatsioon selgitab: Seadista komponent nii, et iga sõltuv komponent või kutse Resolve()-le saaks uue, unikaalse instantsi (vaikimisi).

2、InstancePerLifetimeScope

Elutsükli domeenis loob iga sõltuvus või kutse ühe jagatud instantsi ning iga erineva elutsükli domeeni puhul on eksemplar unikaalne ega ole jagatud.

Ametlik dokumentatsioon selgitab: Seadista komponent nii, et iga sõltuv komponent või kõne Resolve() ühes ILifetimeScope'is saaks sama, jagatud instantsi. Sõltuvad komponendid erinevates eluea ulatustes saavad erinevaid instansse.

3、InstancePerMatchingLifetimeScope

Tuvastatud elutsükli domeenis loob iga sõltuvus või kutse ühe jagatud instantsi. Vanemdomeeni instantse saab jagada tuvastatud elutsükli domeeni lapse identiteedidomeenis. Kui kogu pärilikkuse hierarhias ei leita tuvastatud elutsükli domeeni, lisatakse erand: DependencyResolutionException.

Ametlik dokumentatsioon selgitab: Seadista komponent nii, et iga sõltuv komponent või Resolve() kutse ILifetimeScope'is, mis on märgistatud mõne antud sildi väärtusega, saaks sama, jagatud instantsi. Sõltuvad komponendid eluaegsetes ulatustes, mis on märgistatud skoopi lapsed, jagavad vanema instantsi. Kui hierarhias ei leia sobivalt märgistatud ulatust, visatakse DependencyResolutionException.

4、InstancePerOwned

Eksemplari elutsüklis, mille loob elutsükli domeenis omanduses olev instants, loob iga sõltuv komponent või Resolve() meetodi kutse ühe jagatud eksemplari ning lapse elutsükli domeen jagab eksemplari vanemtsükli domeenis. Kui pärimishierarhias ei leita sobivat elutsükli domeeni koos laps-instantsidega, visatakse erand: DependencyResolutionException.

Ametlik dokumentatsioon selgitab:

Seadista komponent nii, et iga sõltuv komponent või Resolve() kutse ILifetimeScope'is, mille on loonud omatud instants, saab sama, jagatud instantsi. Sõltuvad komponendid eluaegsetes ulatustes, mis on omandis oleva instantsi ulatuse lapsed, jagavad vanema instantsi. Kui hierarhias ei leia sobivat omandis oleva instantsi ulatust, lisatakse DependencyResolutionException.

5、SingleInstance

Iga kord, kui sa sõltud komponendist või kutsud Resolve() meetodit, saad sama jagatud instantsi. Tegelikult on see üksikmudel.

Ametlik dokumentatsioon selgitab: Seadista komponent nii, et iga sõltuv komponent või kõne Resolve()-le saaks sama, jagatud instantsi.

6、InstancePerHttpRequest

Http-päringu kontekstis jagage komponendi eksemplari. Saadaval ainult asp.net MVC arenduseks.





Eelmine:MVC ActionResult
Järgmine:ConcurrentDictionary vs. Dictionary+Locking - Dennis Gao
 Üürileandja| Postitatud 13.09.2016 13:15:50 |
Nuget paigaldusmeetod:

Paigalda Autofac

Install-Package Autofac
Disclaimer:
Kõik Code Farmer Networki poolt avaldatud tarkvara, programmeerimismaterjalid või artiklid on mõeldud ainult õppimiseks ja uurimistööks; Ülaltoodud sisu ei tohi kasutada ärilistel ega ebaseaduslikel eesmärkidel, vastasel juhul kannavad kasutajad kõik tagajärjed. Selle saidi info pärineb internetist ning autoriõiguste vaidlused ei ole selle saidiga seotud. Ülaltoodud sisu tuleb oma arvutist täielikult kustutada 24 tunni jooksul pärast allalaadimist. Kui sulle programm meeldib, palun toeta originaaltarkvara, osta registreerimist ja saa paremaid ehtsaid teenuseid. Kui esineb rikkumist, palun võtke meiega ühendust e-posti teel.

Mail To:help@itsvse.com