Результаты поиска по запросу "service-locator"

1 ответ

@michelpm цель состоит в том, чтобы создать общий интерфейс, чтобы вы могли использовать контейнер IOC для обработки построения графов объектов контроллеров MVC таким образом, который не зависит от контейнера. Интерфейс создает контракт, поэтому реализация MVC может использовать метод «волшебные вещи». Без этого паттерна вам нужно было бы построить собственную базовую платформу для инверсии зависимостей.

ектирую некоторые архитектурные изменения в устаревшем приложении ASP.NET. Я прототипировал некоторые классы для разрешения зависимостей, которые имитируют IDependencyResolver в ASP.NET MVC. Я не буду публиковать, потому что это почти тот же ...

3 ответа

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

аюсь удалить Service Locator из абстрактного базового класса, но я не уверен, что заменить его. Вот псевдо-пример того, что я получил: public abstract class MyController : Controller { protected IKernel kernel; public MyController(IKernel ...

1 ответ

Полезно знать, спасибо - намного больше работы, чем я ожидал, я думаю, не вредно оставлять это единственное исключение в виде кода.

роцессе переноса нашей конфигурации Unity в файл web.config. Я застрял на том, как перенести следующую конфигурацию кода в формат XML: var container = new UnityContainer(); container.RegisterType<IPrincipal>(new InjectionFactory(x=> ...

ТОП публикаций

4 ответа

Если у вас есть библиотечный код, который нуждается в службах, и этот код может быть размещен в контексте более широкой среды исполнения / среды выполнения, тогда среда / среда исполнения должна будет предоставить механизм, позволяющий запускать некоторый пользовательский код при запуске, в котором вы можете инициализировать ваш контейнер и зарегистрируйте зависимости. Хорошим примером того, где CSL может быть проблематичным, является использование его в контексте MSCRM. Вы можете настроить собственную бизнес-логику, зарегистрировав плагины, которые MSCRM-среда выполняет для определенных событий. Проблема, с которой вы сталкиваетесь, заключается в том, где вы запускаете логику регистрации, поскольку нет события «запуска», на которое вы можете подписаться для настройки вашего DI-контейнера. Даже если бы вы могли как-то настроить свой DI, вам нужно было бы поместить библиотеки CSL и DI в GAC, поскольку это единственный способ вызвать сторонний код из плагина (еще один элемент, который нужно добавить в контрольный список развертывания). В таких сценариях вам лучше иметь свои зависимости в качестве параметров конструктора, которые вызывающий код может инициализировать по своему усмотрению (либо путем внедрения конструктора, либо вручную «обновляя» соответствующую реализацию интерфейса).

трел наОбщий Сервисный Локатор [http://commonservicelocator.codeplex.com/]как способ абстрагирования моего контейнера IoC, но я заметил, что некоторые люди категорически против этого типа этого. Люди рекомендуют никогда не использовать это? ...

2 ответа

Почему MVC4 использует Anti-Pattern Service Locator?

После прочтения«Внедрение зависимостей в .NET» [https://rads.stackoverflow.com/amzn/click/com/1935182501]Марк Симанн, я держусь подальше отСервисный локатор [http://en.wikipedia.org/wiki/Service_locator_pattern]который ...

2 ответа

Синглтон Vs ServiceLocator

Каковы преимущества и недостатки использования сервис-локатора по сравнению с одиночным? Я читал, что синглтоны плохие, но мне интересно, будет ли сервисный локатор вообще лучшим способом сделать что-то.

13 ответов

В чем разница между шаблонами Dependency Injection и Service Locator?

Обе модели кажутся реализацией принципа инверсии управления. То есть объект не должен знать, как построить свои зависимости. Внедрение зависимостей (DI), похоже, использует конструктор или установщик для «внедрения» своих зависимостей. Пример ...