StructureMap: как использовать более одного конкретного класса для интерфейса - PullRequest
1 голос
/ 24 июля 2010

Как мне рассчитать StructureMap для использования более одного конкретного класса на интерфейс. то есть IRepositoryCustomer реализуется с помощью: RepositoryCustomerA и RepositoryCustomerB

Как мне зарегистрировать и разрешить это в / из контейнера IoC StructureMap?

1 Ответ

2 голосов
/ 24 июля 2010

Сначала вам нужно ответить на вопрос: «когда мне нужен RepositoryCustomerA вместо RepositoryCustomerB?»

Если какой-либо из этих классов может быть создан в рабочей среде на основе некоторого состояния времени выполнения, то вы, вероятно, захотите посмотретьв условное построение объекта .

Если RepositoryCustomerA должен быть создан во время разработки (скажем, для модульного тестирования), в то время как RepositoryCustomerB является производственным аналогом, то вам нужно два различных Registry s: одинкоторый существует только в вашем тестовом коде, и тот, который доступен в производстве.Подробнее об этом маршруте читайте о создании реестров в качестве средства настройки StructureMap.

...