Вопросы с тегом «inversion-of-control»

Инверсия управления (IoC) - это абстрактный принцип, описывающий аспект некоторых проектов архитектуры программного обеспечения, в которых поток управления системой инвертируется по сравнению с процедурным программированием.

601
SqlException от Entity Framework - Новая транзакция не разрешена, поскольку в сеансе запущены другие потоки

В настоящее время я получаю эту ошибку: System.Data.SqlClient.SqlException: новая транзакция не разрешена, поскольку в сеансе запущены другие потоки. во время выполнения этого кода: public class ProductManager : IProductManager { #region Declare Models private...

598
Зачем мне контейнер IoC, а не простой DI-код? [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Закрыто 6 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Некоторое...

525
Инверсия Контроля против Инъекции Зависимостей

Согласно статье, написанной Мартином Фаулером , инверсия управления является принципом, в котором поток управления программы инвертируется: вместо программиста, управляющего потоком программы, внешние источники (инфраструктура, службы, другие компоненты) принимают на себя управление Это. Как будто...

386
Какие платформы .NET Dependency Injection стоит изучить? [закрыто]

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

313
Почему IoC / DI не распространены в Python?

В Java IoC / DI является очень распространенной практикой, которая широко используется в веб-приложениях, почти во всех доступных средах и Java EE. С другой стороны, есть также много больших веб-приложений на Python, но помимо Zope (который, как я слышал, должно быть ужасно кодировать), IoC,...

300
Как избежать безумия конструктора Dependency Injection?

Я обнаружил, что мои конструкторы начинают выглядеть так: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) с постоянно увеличивающимся списком параметров. Поскольку «Контейнер» является моим контейнером внедрения зависимостей, почему я не могу просто сделать это: public...

230
Dependency Inject (DI) «дружественная» библиотека

Я размышляю над дизайном библиотеки C #, которая будет иметь несколько различных функций высокого уровня. Конечно, эти высокоуровневые функции будут реализованы с использованием принципов проектирования классов SOLID в максимально возможной степени. Таким образом, вероятно, будут классы,...

220
Нужно ли вводить зависимости в NodeJS или как бороться с…?

В настоящее время я создаю несколько экспериментальных проектов с помощью nodejs. Я программировал множество веб-приложений на Java EE с помощью Spring и оценил простоту внедрения зависимостей. Теперь мне любопытно: как мне сделать внедрение зависимости с узлом? Или: мне это вообще нужно? Есть ли...

208
Как объяснить введение зависимости 5-летнему ребенку? [закрыто]

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

191
Что такое Виндзорский замок и почему меня это должно волновать?

Я давний разработчик Windows, порезав зубы на win32 и раннем COM. Я работаю с .NET с 2001 года, поэтому я довольно свободно говорю на C # и CLR. Я никогда не слышал о замке Виндзор, пока не начал участвовать в переполнении стека. Я прочитал руководство по началу работы в Castle Windsor, но оно не...

157
Может кто-нибудь объяснить Microsoft Unity?

Я читал статьи на MSDN о Unity (внедрение зависимостей, инверсия управления), но думаю, мне нужно объяснить это в простых терминах (или простых примерах). Я знаком с шаблоном MVPC (мы используем его здесь), но я пока не могу по-настоящему понять эту вещь Unity, и я думаю, что это следующий шаг в...

151
Внедрение зависимостей через конструкторы или установщики свойств?

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

147
Есть ли шаблон для инициализации объектов, созданных через DI-контейнер

Я пытаюсь заставить Unity управлять созданием моих объектов, и я хочу иметь некоторые параметры инициализации, которые не известны до времени выполнения: На данный момент единственный способ, которым я мог придумать, как это сделать - это использовать метод Init на интерфейсе. interface IMyIntf {...

135
Корпоративная библиотека Unity против других контейнеров IoC [закрыто]

Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Улучшить этот вопрос Каковы преимущества и недостатки использования...

128
Должна ли инъекция зависимостей происходить за счет инкапсуляции?

Если я правильно понимаю, типичным механизмом внедрения зависимостей является внедрение либо через конструктор класса, либо через публичное свойство (член) класса. Это раскрывает внедряемую зависимость и нарушает принцип инкапсуляции ООП. Правильно ли я определил этот компромисс? Как вы...

123
Ioc / DI - Почему я должен ссылаться на все слои / сборки в точке входа приложения?

(В связи с этим вопросом EF4: почему необходимо включить создание прокси, когда включена отложенная загрузка? ). Я новичок в DI, так что терпите меня. Я понимаю, что контейнер отвечает за создание экземпляров всех моих зарегистрированных типов, но для этого ему требуется ссылка на все библиотеки...

113
Как разрешить экземпляр внутри ConfigureServices в ASP.NET Core

Можно ли разрешить экземпляр IOptions<AppSettings>из ConfigureServicesметода в запуске? Обычно вы можете использовать его IServiceProviderдля инициализации экземпляров, но на данном этапе, когда вы регистрируете службы, у вас его нет. public void ConfigureServices(IServiceCollection...

97
Использование IoC для модульного тестирования

Как можно использовать контейнер IoC для модульного тестирования? Полезно ли управлять макетами в огромном решении (более 50 проектов) с помощью IoC? Есть опыт? Любые библиотеки C #, которые хорошо подходят для использования в модульных тестах?...

82
Почему бы не использовать контейнер IoC для разрешения зависимостей для сущностей / бизнес-объектов?

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