Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 21356|Atbildi: 1

[Avots] IoC efektīvs Autofac

[Kopēt saiti]
Publicēts 13.09.2016 13:14:12 | | |
IoC ~ Efektīvs Autofac

Nav šaubu, ka Microsoft iecienītākais IoC konteiners nav spring.net, vienotība, bet Autofac, tā efektivitātes, vienkāršības dēļ, tāpēc to izmanto arī Microsoft vadītiem augļu dārzu projektiem

ilustrē Autofac izmantošanu.


Sauksim to tagad:

Nākamajā lekcijā es runāšu par Autofac izmantošanu konkrētos augļu dārzu projektu projektos.

Tagad apskatiet tā dzīves ciklu

1 、 InstancePerDependency

Izveidojiet jaunu unikālu instanci katrai atkarībai vai izsaukumam. Tas ir arī noklusējuma veids, kā izveidot instances.

Oficiālajā dokumentācijā paskaidrots: Konfigurējiet komponentu tā, lai katrs atkarīgais komponents vai izsaukums uz Resolve() iegūtu jaunu, unikālu instanci (noklusējums).

2 、 InstancePerLifetimeScope

Dzīves cikla domēnā katra atkarība vai izsaukums izveido vienu koplietojamu instanci, un katram atšķirīgam dzīves cikla domēnam instance ir unikāla un nav koplietota.

Oficiālajā dokumentācijā paskaidrots: Konfigurējiet komponentu tā, lai katrs atkarīgais komponents vai izsaukums uz Resolve() vienā ILifetimeScope iegūtu to pašu, koplietojamu instanci. Atkarīgie komponenti dažādos kalpošanas laika tvērumos iegūs dažādus gadījumus.

3 、 InstancePerMatchingLifetimeScope

Identificētā dzīves cikla domēnā katra atkarība vai izsaukums izveido vienu koplietojamu instanci. Vecākdomēna instances var koplietot identificētā dzīves cikla domēna bērna identitātes domēnā. Ja visā mantojuma hierarhijā nav atrasts neviens identificēts dzīves cikla domēns, tiek izmests izņēmums: DependencyResolutionException.

Oficiālajā dokumentācijā paskaidrots: Konfigurējiet komponentu tā, lai katrs atkarīgais komponents vai izsaukums uz Resolve() ILifetimeScope, kas atzīmēts ar kādu no norādītajām tagu vērtībām, iegūtu to pašu koplietojamo instanci. Atkarīgie komponenti mūža tvērumos, kas ir atzīmētā tvēruma bērni, koplietos vecāka instanci. Ja hierarhijā nav atrodams atbilstošs tvērums, tiek izmests DependencyResolutionException.

4 、 InstancePerOwned

Dzīves cikla domēnam piederošas instances izveidotās instances dzīves ciklā katrs atkarīgais komponents vai metodes Resolve() izsaukums izveido vienu koplietojamu instanci, un bērna dzīves cikla domēns koplieto instances vecākdzīves cikla domēnā. Ja pārmantošanas hierarhijā nav atrasts piemērots dzīves cikla domēns ar pakārtotām instancēm, tiek izmests izņēmums: DependencyResolutionException.

Oficiālajā dokumentācijā paskaidrots:

Konfigurējiet komponentu tā, lai katrs atkarīgais komponents vai izsaukums uz Resolve() ILifetimeScope, ko izveidojusi piederoša instance, iegūtu to pašu koplietojamo instanci. Atkarīgie komponenti mūža tvērumos, kas ir īpašumā esošās instances tvēruma bērni, koplietos vecāka instanci. Ja hierarhijā nav atrodams atbilstošs piederošais instances tvērums, tiek izmests DependencyResolutionException.

5 、 Viena instance

Katru reizi, kad esat atkarīgs no komponenta vai izsaucat Resolve() metodi, jūs saņemat to pašu koplietojamo instanci. Patiesībā tas ir vientuļš modelis.

Oficiālajā dokumentācijā paskaidrots: Konfigurējiet komponentu tā, lai katrs atkarīgais komponents vai Resolve() izsaukums saņemtu vienu un to pašu koplietojamo instanci.

6 、 InstancePerHttpRequest

Saistībā ar Http pieprasījumu koplietojiet komponenta instanci. Pieejams tikai asp.net MVC izstrādei.





Iepriekšējo:MVC rīcības rezultāts
Nākamo:ConcurrentDictionary vs. Dictionary + Locking - Dennis Gao
 Saimnieks| Publicēts 13.09.2016 13:15:50 |
Nuget instalēšanas metode:

Instalējiet Autofac

Instalēt paketi Autofac
Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com