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

Внедрение зависимостей - это шаблон проектирования, в котором зависимости (экземпляры объектов, свойства) компонента устанавливаются с помощью конструктора (ов), методов или полей (свойств). Это особая форма более общего обращения зависимостей.

13
Значит синглтоны плохие, тогда что?
В последнее время было много дискуссий о проблемах с использованием (и чрезмерным использованием) Singletons. Я был одним из тех людей в начале моей карьеры тоже. Теперь я вижу, в чем проблема, и все же есть много случаев, когда я не вижу хорошей альтернативы, и не многие из дискуссий по борьбе …

7
Что делает среда Spring? Должен ли я использовать это? Почему или почему нет?
Итак, я начинаю новый проект на Java и собираюсь использовать Spring. Почему я рассматриваю весну? Потому что многие люди говорят мне, что я должен использовать Spring! Серьезно, каждый раз, когда я пытался заставить людей объяснить, что такое Spring или что он делает, они никогда не могли дать мне прямой ответ. …

8
Когда не следует использовать шаблон внедрения зависимостей?
С тех пор, как я начал изучать (и любить) автоматизированное тестирование, я обнаружил, что использую шаблон внедрения зависимостей почти в каждом проекте. Всегда ли уместно использовать этот шаблон при работе с автоматизированным тестированием? В каких ситуациях вам следует избегать использования инъекций зависимостей?

8
Критика и недостатки внедрения зависимости
Внедрение зависимостей (DI) является хорошо известным и модным паттерном. Большинство инженеров знают его преимущества, такие как: Обеспечение изоляции в модульном тестировании возможно / просто Явно определяющие зависимости класса Содействие хорошему дизайну (например, принцип единой ответственности ) Быстрое включение реализаций (например, DbLoggerвместо ConsoleLogger) Я считаю, что в отрасли существует единодушное мнение, …

4
Разница между инъекцией зависимостей (DI) и инверсией контроля (IOC)
Я видел много упоминаний о внедрении зависимостей (DI) и инверсии контроля (IOC), но я действительно не знаю, есть ли разница между ними или нет. Я хотел бы начать использовать один или оба из них, но я немного смущен тем, как они отличаются.

9
Понимание внедрения зависимости
Я читаю о внедрении зависимости (DI). Для меня это очень сложная вещь, так как я читал, что она также ссылается на инверсию управления (IoC), и я чувствовал, что собираюсь отправиться в путешествие. Это мое понимание: вместо того, чтобы создавать модель в классе, который также потребляет ее, вы передаете (внедряете) модель …

5
В чем разница между использованием внедрения зависимостей в контейнере и поиском сервисов?
Я понимаю, что непосредственное создание зависимостей внутри класса считается плохой практикой. Это имеет смысл, поскольку это тесно связывает все, что в свою очередь делает тестирование очень трудным. Похоже, что почти все фреймворки, с которыми я сталкивался, предпочитают внедрение зависимостей с контейнером, а не использование сервисных локаторов. Кажется, что они оба …

11
(Почему) важно, чтобы модульный тест не проверял зависимости?
Я понимаю ценность автоматизированного тестирования и использую его там, где проблема достаточно четко определена, чтобы я мог придумать хорошие контрольные примеры. Однако я заметил, что некоторые люди здесь и в StackOverflow делают упор на тестировании только модуля, а не его зависимостей. Здесь я не вижу выгоды. Пересмешка, чтобы избежать зависимостей …

18
Инъекция зависимости: как ее продать [закрыто]
Пусть будет известно, что я большой поклонник внедрения зависимостей (DI) и автоматизированного тестирования. Я мог бы говорить об этом весь день. Фон Недавно наша команда только что получила этот большой проект, который должен быть построен с нуля. Это стратегическое приложение со сложными бизнес-требованиями. Конечно, я хотел, чтобы он был красивым …

7
Должен ли я использовать Dependency Injection или статические фабрики?
При проектировании системы я часто сталкиваюсь с проблемой использования множества модулей (журналирование, доступ к базе данных и т. Д.) Другими модулями. Вопрос в том, как мне предоставить эти компоненты другим компонентам. Два ответа кажутся возможными для внедрения зависимости или использования фабричного шаблона. Однако оба кажутся неправильными: Фабрики затрудняют тестирование и …

5
Инъекция зависимостей: Инъекция поля в сравнении с Инъекцией в конструктор?
Я знаю, что это горячая дискуссия, и мнения, как правило, меняются с течением времени. Раньше я использовал исключительно полевую инъекцию для своих классов, пока не начал читать в разных блогах (например, petrikainulainen и schauderhaft and fowler ) о преимуществах инъекции в конструктор. С тех пор я переключил свои методологии, чтобы …

7
Управление и организация массово увеличенного количества классов после перехода на SOLID?
За последние несколько лет мы постепенно переходили на все более и более качественно написанный код, по несколько шагов за раз. Мы наконец начинаем переключаться на что-то, что, по крайней мере, напоминает SOLID, но мы еще не совсем там. После внесения изменений одна из самых больших претензий разработчиков заключается в том, …

3
Что такое инжектор конструктора?
Я смотрел на внедрение терминов и внедрение зависимостей, просматривая статьи по шаблонам проектирования (локатор служб). Когда я гуглил о внедрении конструктора, я получил неясные результаты, что побудило меня проверить здесь. Что такое инжектор конструктора? Это особый тип внедрения зависимости? Канонический пример был бы очень полезен! редактировать Пересматривая эти вопросы после …

11
Являются ли так называемые «сквозные проблемы» действительным поводом для нарушения SOLID / DI / IoC?
Мои коллеги любят говорить «ведение журнала / кеширование и т. Д. - сквозная проблема», а затем везде использовать соответствующий синглтон. Все же они любят IoC и DI. Действительно ли это оправданное нарушение принципа SOLI D ?

7
Когда НЕ применять принцип инверсии зависимости?
В настоящее время я пытаюсь выяснить, ТВЕРДЫЙ. Таким образом, принцип обращения зависимостей означает, что любые два класса должны взаимодействовать через интерфейсы, а не напрямую. Пример: если class Aесть метод, который ожидает указатель на объект типа class B, то этот метод должен фактически ожидать объект типа abstract base class of B. …

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.