Реализация единого кэшированного репозитория - PullRequest
1 голос
/ 01 сентября 2011

Я пытаюсь реализовать шаблон, как описано здесь http://stevesmithblog.com/blog/building-a-cachedrepository-via-strategy-pattern/, но с использованием единицы (в примере используется StructureMap)

Я пытаюсь повторить этот код в синтаксисе Unity

x.For<IOrganization>().Use<OrganizationCacheRepository>().Ctor<IOrganization>).Is<OrganizationRepository>();

Есть идеи?

1 Ответ

0 голосов
/ 15 мая 2012

Вы захотите сделать что-то вроде:

_container.RegisterType<IOrganization,OrganizationCacheRepository>(new Injection Constructor(new []{new ResolvedParameter<OrganizationRepository>()});

Где RegisterType регистрирует начальное отображение интерфейса / типа, а IjectionConstructor отображает параметры, которые должны быть введены в объект при его создании.

Мы используем ResolvedParameter, чтобы сообщить Unity, что нужно разрешить экземпляр из типа / интерфейса из контейнера и использовать его в качестве параметра внедрения.

...