Отдельные контейнеры против одного контейнера - Unity - PullRequest
0 голосов
/ 01 мая 2011

В настоящее время моя команда работает над проектом, который использует модель «процесса».Каждый процесс состоит из «шагов», эти шаги могут быть каждым «IValidationStep» или «ITransactionStep».В каждом случае логика отличается (шаги транзакции могут откатываться).

Эти шаги будут решаться с помощью Unity.

В нашем проекте мы собираемся построить общую логику проверки и транзакции, используя шагиможет быть заменено в конфигурации Unity.

В настоящее время мы обсуждаем, следует ли разделить контейнеры (контейнер на поток, который состоит из процессов проверки и транзакций) или просто хранить все это в одном контейнере.* Я хотел бы получить ваше честное мнение о разделении контейнеров против одного контейнера.Помните, что наш проект должен быть полностью тестируемым с помощью модульных тестов.

Ответы [ 2 ]

2 голосов
/ 01 мая 2011

Если ваш код должен быть полностью тестируемым, ваши процессы, вероятно, получат все зависимости (шаги) посредством внедрения зависимостей. В этом случае процесс будет полностью независим от Unity и не будет содержать ссылки на UnityContainer. Единственный код, который будет иметь ссылку на UnityContainer, будет логическое создание и выполнение ваших процессов. Это приводит меня к одной UnityContainer с именованными типами регистрации.

0 голосов
/ 01 мая 2011

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

...