Инжектиране на зависимости в n-слоева архитектура - как да подходим

Искам да създам N-Tier приложение.

Клиент (WebJson-MVC, WebSoap-WCF)
API
BLL
DAL

Client зависи от API, което зависи от BLL, което зависи от DAL.
Да кажем, че искам да инжектирам API към клиентите (WebJson-MVC, WebSoap-WCF).
Тъй като има 2 клиента, какво е най-добрият начин за инжектиране? Към кой проект трябва да импортирам рамката за инжектиране на зависимости?
Какво е решението за това?
Къде да инициализирам контекста? IApplicationContext ctx = ContextRegistry.GetContext();

Редактиране 1
Ако създам инжектирането на зависимост в WebJson-MVC и искам да инжектирам bll към api, не свързвам ли MVC с BLL, не е ли лошо да има Bll и клиентът са добре свързани? Освен това, как предполагам да инжектирам API към WebSoap-WCF?

Благодаря


person SexyMF    schedule 16.07.2012    source източник


Отговори (1)


Към рамката WebJson-MVC, без съмнение. Инициализирането в MVC рамката ще бъде в ApplicationStart() на файла Global.asax.cs.

person Computer Guy    schedule 16.07.2012
comment
Благодаря, вижте моята редакция във въпроса. - person SexyMF; 16.07.2012
comment
В модела, в който в момента разработвам грешките и използвам (MVC4/WebAPI/IoC и DI (Unity)), всички API/BLL/DAL са от една и съща страна, тъй като всички те споделят един и същ проект (asp.net WebAPI е нещо като WCF на стероиди (но по-слаб (като Брус Лий)). Услугите (SOAP-WCF (ако трябваше да ги използвам)) биха се използвали само ако имаше мандат за интеграция за използване на SOAP/WCF. Трябваше да използвам SOAP/WCF, просто щях да направя грубите извиквания и т.н. от страна на WebAPI и да сериализирам в каквото е необходимо на получателя. Ако това е двусмислено, моите извинения. Нов съм с WebAPI и може да не давам добри насоки - person Computer Guy; 16.07.2012