Skip to main content

Posts

Showing posts with the label Autofac

Ioc - Autofac

Related posts: IoC Definitie Ninject Unity Windsor Autofac Structure Map MEF Concluzie Astăzi a venit rîndul la Autofac ( http://code.google.com/p/autofac/ ) sa fie prezentat. Clasa care se ocupa de container se numește ContainerBuilder . Folosind aceasta clasa putem sa înregistram sau sa rezolvam orice componenta. La fel ca si Ninject, paternul folosit pentru setup-ul containerului este fluent. Mai jos puteți sa găsiți un exemplu care arata cum se poate înregistra un element în container. ContainerBuilder containerBuilder = new ContainerBuilder(); containerBuilder .RegisterType<OderService>() .As<IOrderService>(); Trebuie sa aveti grija ca intai se specifica clasa care implementează tipul pe care dorim sa îl mapam și doar apoi interfata (sau clasa care vrem sa o mapam). Autofac este destul de deștept ca sa poată detecta cu ce obiect vrem sa mapam un anumit tip. Este de ajuns sa specificam doar OrderService: containerBuilder .RegisterType<OderSe...

Autofac 2.3

De cateva zile s-a lansat o noua versiune de Autofac( v. 2.3). Am dat jos ultima versiune si am inceput sa ma joc cu acesta si iata ce am descoperit: Ce ne ofera Autofac: dependency injection; inversion of control( IoC); suportat de diferite platforme( ASP.NET MVC, Silverlight, etc); Nu este atat de complex precum Windsor de la Castle Project, dar ofera functiile de baza de care am avea nevoie pentru un proiect de dimensiuni mici. Iata cum se foloseste: Clasa de baza prin care putem sa inregistram sau sa obtinem instance este "ContainerBuilder" var autofac=new ContainerBuilder(); Pentru a inregistra putem folosi de metoda "Register". autofac.Register(component=> new NumeClasa()); Pentru a obtine o componenta din container trebuie apelata metoda "Resolve": autofac.Resolve<NumeClasa>(); In cazul in care constructorul clasei noastre are nevoie de anumiți parametrii care au fost deja înregistrați putem sa apelam metoda "Resolve" in momentul ...