У меня есть 4 Проекты в раствореКак решить Завис в Dependency
- DAL_Project
- BLL_Project
- Interface_Project
- WebApi_Project
Interface_Project имеет два интерфейса ICar_DAL и ICar_BLL
DAL_Project имеет класс Car_DAL, который реализует ICar_DAL
BLL_Project имеет класс Car_BLL, который реализует ICar_BLL и его конструктор принимает ICar_DAL
WebApi_Project имеет контроллер апи CarApiController и его конструктор принимает ICar_BLL
разрешение зависимостей конструктора WebAPI контроллера осуществляется с помощью Unity.WebApi это в Bootstrapper.cs:
container.RegisterType<ICar_BLL, Car_BLL>();
это сработало бы, если бы мой Car_BLL не требовал ICar_DAL в своем конструкторе.
, чтобы сделать его работу я могу сделать некоторые вещи, как это:
container.RegisterType<ICar_BLL, Car_BLL>();
container.RegisterType<ICar_DAL, Car_DAL>();
но это означало бы, что мне нужно, чтобы добавить ссылку на DAL_Project в моем WebApi_Project что-то я никогда не хотел бы делать. DAL_Project следует относить только BLL_Project
Как я могу решить эту проблему?
Возможный дубликат [Ioc/DI - Почему мне нужно ссылаться на все слои/сборки в приложении ввода?] (Http://stackoverflow.com/questions/9501604/ioc-di-why-do-i -have-to-reference-all-layers-assemblies-in-entry-application) – Steven
Спасибо, Стивен ... ваш ответ и другие ответы в этом посте дали мне немного больше возможностей для изучения, я рассмотрю концепцию композиции Root более подробно. Я думаю, что это был недостающий кусок. Еще раз спасибо. –