Вопросы с тегом «dependency-injection»

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

3077
Что такое внедрение зависимостей?

Уже было опубликовано несколько вопросов с конкретными вопросами о внедрении зависимостей , например, когда его использовать и какие существуют для него рамки. Однако, Что такое внедрение зависимостей и когда / почему его следует или не следует...

695
В чем разница между @Inject и @Autowired в Spring Framework? Какой использовать при каких условиях?

Я просматриваю некоторые блоги на SpringSource и в одном из блогов, которые использует автор, @Injectи я полагаю, что он также может использовать @Autowired. Вот кусок кода: @Inject private CustomerOrderService customerOrderService; Я не уверен в разнице между @Injectи @Autowiredбуду признателен,...

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

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

536
Почему один использует внедрение зависимости?

Я пытаюсь понять инъекции зависимости (DI), и снова я потерпел неудачу. Это просто кажется глупым. Мой код никогда не беспорядок; Я почти не пишу виртуальные функции и интерфейсы (хотя я делаю это однажды в голубой луне), и вся моя конфигурация волшебным образом сериализуется в класс с...

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

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

498
Внедрение зависимостей в сравнении с шаблоном фабрики

Большинство примеров, приведенных для использования Dependency Injection, мы также можем решить, используя фабричный шаблон. Похоже, что когда дело доходит до использования / дизайна, разница между внедрением зависимости и фабрикой размыта или тонка. Однажды кто-то сказал мне, что то, как вы...

398
Один DbContext на веб-запрос ... почему?

Я читал много статей, объясняющих, как настроить Entity Framework DbContextтак, чтобы только одна создавалась и использовалась для каждого веб-запроса HTTP с использованием различных структур DI. Почему это хорошая идея в первую очередь? Какие преимущества вы получаете, используя этот подход? Есть...

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

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

381
@Resource vs @Autowired

Какую аннотацию, @Resource ( jsr250 ) или @Autowired (для Spring) следует использовать в DI? Я успешно использовал как в прошлом, так @Resource(name="blah")и@Autowired @Qualifier("blah") Мой инстинкт состоит в том, чтобы придерживаться @Resourceтега, так как он был утвержден людьми jsr. У...

336
Каковы недостатки использования Dependency Injection? [закрыто]

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

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

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

308
Как сравниваются основные платформы C # DI / IoC? [закрыто]

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

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

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

302
Разрешение экземпляров с помощью ASP.NET Core DI

Как вручную разрешить тип с помощью встроенной инфраструктуры внедрения зависимостей ASP.NET Core MVC? Настройка контейнера достаточно проста: public void ConfigureServices(IServiceCollection services) { // ... services.AddTransient<ISomeService, SomeConcreteService>(); } Но как я могу решить...

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

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

294
Как я могу ввести значение свойства в Spring Bean, который был настроен с использованием аннотаций?

У меня есть куча бобов Spring, которые взяты из classpath с помощью аннотаций, например @Repository("personDao") public class PersonDaoImpl extends AbstractDaoImpl implements PersonDao { // Implementation omitted } В XML-файле Spring определен PropertyPlaceholderConfigurer : <bean...

284
Инъекция Mockito издевается в бобе Spring

Я хотел бы внедрить фиктивный объект Mockito в bean-компонент Spring (3+) для модульного тестирования с помощью JUnit. Мои зависимости bean-компонентов в настоящее время внедряются с использованием @Autowiredаннотации для закрытых полей-членов. Я рассмотрел использование,...

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

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