AMcoder - javascript, python, java, html, php, sql

StructureMap ներարկված Icontainer. որտեղի՞ց է այն գալիս:

Ես ունեմ ASP.Net MVC հավելված և օգտագործում եմ StructureMap-ը MVC-ում՝ ամբողջ հավելվածը միասին սոսնձելու համար: Կան որոշ մոդելային դասեր, որոնք ունեն ծանր քաշային կախվածություններ, որոնք չեն օգտագործվում բոլոր հանրային մեթոդներում, այնպես որ ես Icontainer-ով անցնում եմ մոդելի կառուցողին և օգտագործում այն՝ ըստ պահանջի ծանր քաշային կախվածություններ ստեղծելու համար:

Իմ հարցն այն է, թե որտեղից է գալիս Icontainer-ը, որը ներարկվում է: Արդյո՞ք դա հղում է MVC-ի կենտրոնական դիրքին (դա տրամաբանական ծնող է), թե՞ այն բոլորովին նոր է, որը ստեղծվել և կազմաձևվել է բացառապես այս դասի համար:


Պատասխանները:


1

Icontainer պարամետր ունեցող կոնստրուկտորին ներարկվող կոնտեյները նույն կոնտեյներն է, որը ստեղծում է դասի օրինակը կոնստրուկտորի հետ:

Ջերեմի Միլլերն արտահայտել է այս պահվածքը որպես «ICcontainer-ը լռելյայնորեն ներարկվել է ինքն իրեն» իր բլոգի գրառում NHibernate-ում StructureMap-ով:

Չե՞ք կարող ձեռնարկել գործարանային մոդել՝ անհրաժեշտության դեպքում այդ կախվածությունները ստեղծելու համար, որպեսզի ձեր միացումը կոնտեյներով կրճատվի:

Դուք կարող եք ստիպել ձեր մոդելն ընդունել Func-ը որպես պարամետր և օգտագործել SM-ի հնարավորությունը՝ ինքնաներարկելու դրանք.

public class MyModel
{
   Func<IHeavyDep> _heavyFactory;
   public MyModel(Func<IHeavyDep> dependency)
   {
      _heavyFactory = dependency;
   }

   public void UsesHeavy()
   { 
      var heavy = _heavyFactory();
      heavy.DoMyStuff();
   }
}
24.08.2010
Նոր նյութեր

Օգտագործելով Fetch Vs Axios.Js-ը՝ HTTP հարցումներ կատարելու համար
JavaScript-ը կարող է ցանցային հարցումներ ուղարկել սերվեր և բեռնել նոր տեղեկատվություն, երբ դա անհրաժեշտ լինի: Օրինակ, մենք կարող ենք օգտագործել ցանցային հարցումը պատվեր ներկայացնելու,..

Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար
Տիրապետել հանգստության արվեստին. մշակողի ուղեցույց՝ ճնշման տակ ծաղկելու համար Ինչպե՞ս հանգստացնել ձեր միտքը և աշխատեցնել ձեր պրոցեսորը: Ինչպես մնալ հանգիստ և զարգանալ ճնշման տակ...

Մեքենայի ուսուցում բանկային և ֆինանսների ոլորտում
Բարդ, խելացի անվտանգության համակարգերը և հաճախորդների սպասարկման պարզեցված ծառայությունները բիզնեսի հաջողության բանալին են: Ֆինանսական հաստատությունները, մասնավորապես, պետք է առաջ մնան կորի..

Ես AI-ին հարցրի կյանքի իմաստը, այն ինչ ասում էր, ցնցող էր:
Այն պահից ի վեր, երբ ես իմացա Արհեստական ​​ինտելեկտի մասին, ես հիացած էի այն բանով, թե ինչպես է այն կարողանում հասկանալ մարդկային նորմալ տեքստը, և այն կարող է առաջացնել իր սեփական արձագանքը դրա..

Ինչպես սովորել կոդավորումը Python-ում վագրի պես:
Սովորելու համար ծրագրավորման նոր լեզու ընտրելը բարդ է: Անկախ նրանից, թե դուք սկսնակ եք, թե առաջադեմ, դա օգնում է իմանալ, թե ինչ թեմաներ պետք է սովորել: Ծրագրավորման լեզվի հիմունքները, դրա..

C++-ի օրական բիթ(ե) | Ամենաերկար պալինդրոմային ենթաշարը
C++ #198-ի ամենօրյա բիթ(ե), Ընդհանուր հարցազրույցի խնդիր. Ամենաերկար պալինդրոմային ենթատող: Այսօր մենք կանդրադառնանք հարցազրույցի ընդհանուր խնդրին. Ամենաերկար palindromic substring...

Kydavra ICAReducer՝ ձեր տվյալների ծավալայինությունը նվազեցնելու համար
Ի՞նչ է ICAReducer-ը: ICAReducer-ն աշխատում է հետևյալ կերպ. այն նվազեցնում է նրանց միջև բարձր փոխկապակցված հատկանիշները մինչև մեկ սյունակ: Բավականին նման է PCAreducer-ին, չնայած այն..