Скажем, некоторые из моих конструкторов контроллеров используют интерфейс - IPetInterface
Существует 3 конкретных реализации IPetInterface.
Как бы вы сконфигурировали StructureMap для предоставления одной из конкретных реализаций на основе контроллера, который в этом нуждается.
грубый пример ....
class DogStuff: IPetInterface{}
class CatStuff: IPetInterface{}
class GiraffeStuff: IPetInterface{}
class DogController : Controller
{
DogController(IPetInterface petStuff)
// some other stuff that is very unique to dogs
}
class CatController : Controller
{
CatController(IPetInterface petStuff)
// some other stuff that is very unquie to cats
}