Инверсия управления (IoC) может быть довольно запутанной, когда она встречается впервые. Что это? Какую проблему это решает? Когда уместно использовать, а когда нет?...
Инверсия управления (IoC) - это абстрактный принцип, описывающий аспект некоторых проектов архитектуры программного обеспечения, в которых поток управления системой инвертируется по сравнению с процедурным программированием.
Инверсия управления (IoC) может быть довольно запутанной, когда она встречается впервые. Что это? Какую проблему это решает? Когда уместно использовать, а когда нет?...
В настоящее время я получаю эту ошибку: System.Data.SqlClient.SqlException: новая транзакция не разрешена, поскольку в сеансе запущены другие потоки. во время выполнения этого кода: public class ProductManager : IProductManager { #region Declare Models private...
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Закрыто 6 лет назад . Locked . Этот вопрос и его ответы заблокированы, потому что вопрос не по теме, но имеет историческое значение. В настоящее время он не принимает новые ответы или взаимодействия. Некоторое...
Согласно статье, написанной Мартином Фаулером , инверсия управления является принципом, в котором поток управления программы инвертируется: вместо программиста, управляющего потоком программы, внешние источники (инфраструктура, службы, другие компоненты) принимают на себя управление Это. Как будто...
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...
В Java IoC / DI является очень распространенной практикой, которая широко используется в веб-приложениях, почти во всех доступных средах и Java EE. С другой стороны, есть также много больших веб-приложений на Python, но помимо Zope (который, как я слышал, должно быть ужасно кодировать), IoC,...
Я обнаружил, что мои конструкторы начинают выглядеть так: public MyClass(Container con, SomeClass1 obj1, SomeClass2, obj2.... ) с постоянно увеличивающимся списком параметров. Поскольку «Контейнер» является моим контейнером внедрения зависимостей, почему я не могу просто сделать это: public...
Я размышляю над дизайном библиотеки C #, которая будет иметь несколько различных функций высокого уровня. Конечно, эти высокоуровневые функции будут реализованы с использованием принципов проектирования классов SOLID в максимально возможной степени. Таким образом, вероятно, будут классы,...
В настоящее время я создаю несколько экспериментальных проектов с помощью nodejs. Я программировал множество веб-приложений на Java EE с помощью Spring и оценил простоту внедрения зависимостей. Теперь мне любопытно: как мне сделать внедрение зависимости с узлом? Или: мне это вообще нужно? Есть ли...
В настоящее время этот вопрос не очень подходит для нашего формата вопросов и ответов. Мы ожидаем, что ответы будут подтверждены фактами, ссылками или опытом, но этот вопрос, скорее всего, вызовет дебаты, споры, опрос или расширенное обсуждение. Если вы считаете, что этот вопрос можно улучшить и,...
Я давний разработчик Windows, порезав зубы на win32 и раннем COM. Я работаю с .NET с 2001 года, поэтому я довольно свободно говорю на C # и CLR. Я никогда не слышал о замке Виндзор, пока не начал участвовать в переполнении стека. Я прочитал руководство по началу работы в Castle Windsor, но оно не...
Я читал статьи на MSDN о Unity (внедрение зависимостей, инверсия управления), но думаю, мне нужно объяснить это в простых терминах (или простых примерах). Я знаком с шаблоном MVPC (мы используем его здесь), но я пока не могу по-настоящему понять эту вещь Unity, и я думаю, что это следующий шаг в...
Я занимаюсь рефакторингом класса и добавляю в него новую зависимость. В настоящее время класс принимает существующие зависимости в конструкторе. Поэтому для согласованности я добавляю параметр в конструктор. Конечно, есть несколько подклассов и даже больше для модульных тестов, так что теперь я...
Я пытаюсь заставить Unity управлять созданием моих объектов, и я хочу иметь некоторые параметры инициализации, которые не известны до времени выполнения: На данный момент единственный способ, которым я мог придумать, как это сделать - это использовать метод Init на интерфейсе. interface IMyIntf {...
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 6 лет назад . Улучшить этот вопрос Каковы преимущества и недостатки использования...
Если я правильно понимаю, типичным механизмом внедрения зависимостей является внедрение либо через конструктор класса, либо через публичное свойство (член) класса. Это раскрывает внедряемую зависимость и нарушает принцип инкапсуляции ООП. Правильно ли я определил этот компромисс? Как вы...
(В связи с этим вопросом EF4: почему необходимо включить создание прокси, когда включена отложенная загрузка? ). Я новичок в DI, так что терпите меня. Я понимаю, что контейнер отвечает за создание экземпляров всех моих зарегистрированных типов, но для этого ему требуется ссылка на все библиотеки...
Можно ли разрешить экземпляр IOptions<AppSettings>из ConfigureServicesметода в запуске? Обычно вы можете использовать его IServiceProviderдля инициализации экземпляров, но на данном этапе, когда вы регистрируете службы, у вас его нет. public void ConfigureServices(IServiceCollection...
Как можно использовать контейнер IoC для модульного тестирования? Полезно ли управлять макетами в огромном решении (более 50 проектов) с помощью IoC? Есть опыт? Любые библиотеки C #, которые хорошо подходят для использования в модульных тестах?...
Я понимаю концепцию DI, но я только изучаю, что могут делать разные контейнеры IoC. Кажется, что большинство людей выступает за использование контейнеров IoC для подключения сервисов без сохранения состояния, но как насчет их использования для объектов с сохранением состояния, таких как сущности?...