Paljud raamatud mainivad selliseid mõisteid nagu sõltuvuse süstimine ja juhtimise pööramine, mis kõik on suunatud lõdvalt seotud kihtide, komponentide ja klassieesmärkide saavutamisele.
On tavapärane kasutada Repository klassi, et eraldada otsene ühendus kontrolleri ja mudeli vahel. Selleks, et katkestada tihe ühendus Hoidla klassi ja Kontrolleri vahel, ei defineerita ega instantsieeri seda tavaliselt otse Repositooriumi klass, vaid see süstitakse määratud Hoidla sisse kontrolleri ehitusmeetodi kaudu.
Populaarsed IoC konteinerid on: Ninject, Autofac, Unity.
Siin on lühike selgitus, kuidas kasutada Autofac süstimist MVC5 ja Webapi2.
1. Kasuta nupkg, et viidata Autofacile, Autofac.Mvc5 ja Autofac.Webapi2-le
PM> install-package autofac -versioon 3.5.0
PM> install-package autofac.mvc5
PM> install-package autofac.webapi2 (Märkus: Kui kasutad oma projektis webapi2, peab siin olema webapi2, mitte webapi, vastasel juhul ilmub käitusajal "Rewrite member Autofac.Integration.WebApi.AutofacWebApiDependencyResolver.BeginScope()") rikkus pärandi tagatise reegleid. Ülekirjutatud meetodi turvalisuse ligipääsetavus peab vastama ümberkirjutatud meetodi turvalisele ligipääsetavusele. Vale. )
2. Registreeri komponent.
3. Loo konteiner hilisemaks kasutamiseks.
var konteiner=ehitaja. Build(); 4. Loo konteinerist eluaegne sihik.
5. Kasuta seda eluea ulatust komponentide eksemplaride analüüsimiseks.
konfiguratsioon. DependencyResolver = uus AutofacWebApiDependencyResolver(konteiner); API konteineri registreerimiseks tuleb kasutada HttpConfiguration objekti DependencyResolver.SetResolver(uus AutofacDependencyResolver(konteiner)); Registreeri MVC konteiner 6. WebApiConfig klassi Register meetodis kutsu ülaltoodud sammukood ja edasta HttpConfiguration objekt.
Autofaci eeliseks on see, et seda saab korraga lahti ühendada ilma seadistamiseta; autofac rakendab MVC-s paremini kontseptsiooni "konventsioon on suurem kui konfiguratsioon".
|