У меня будут следующие компоненты в моем приложении
- DataAccess
- DataAccess.Test
- Бизнес
- Business.Test
- Применение
Я надеялся использовать Castle Windsor в качестве IoC для склеивания слоев, но я немного сомневаюсь в дизайне склеивания.
Мой вопрос: кто должен отвечать за регистрацию объектов в Виндзоре? У меня есть пара идей:
- Каждый слой может регистрировать свои собственные объекты. Чтобы протестировать BL, тестовый стенд мог регистрировать макеты для DAL.
- Каждый слой может регистрировать объект своих зависимостей, например. бизнес-уровень регистрирует компоненты уровня доступа к данным. Чтобы протестировать BL, тест-стенд должен был бы выгрузить "реальный" объект DAL и зарегистрировать макет объектов.
- Приложение (или тестовое приложение) регистрирует все объекты зависимостей.
Может кто-нибудь помочь мне с некоторыми идеями и плюсами/минусами с разными путями? Ссылки на примеры проектов, использующих Castle Windsor таким образом, были бы очень полезными.