Внедрение зависимостей и структура проекта для консольных приложений

У меня есть 4 проекта:

Core (IServer):

  • System
  • System.Core

DependencyResolver:

  • Core
  • StructureMap

Infrastructure (Service):

  • Ядро
  • Внешняя зависимость

Консоль:

  • Ядро
  • DependencyResolver

Требования:

Я пытаюсь использовать StructureMap только в DependencyResolver.Кроме того, консольное приложение не должно ничего знать об инфраструктуре.

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

В DependencyResolver у меня есть Bootstrapper, который отвечает за вызов элементов реестра StructureMap (регистр)

В моем консольном приложении я хочу получить экземпляр. Для этого мне нужно сослаться на StructureMap. Другим способом было бы написать небольшую оболочку вокруг методов разрешения StructureMaps.

Есть ли другой лучший способ отделить консоль от StructureMap?

8
задан Rookian 21 March 2012 в 14:58
поделиться