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

32
Какие классы должны быть автоматически подключены Spring (когда использовать внедрение зависимостей)?

Я уже некоторое время использую Dependency Injection в Spring, и я понимаю, как это работает и каковы некоторые плюсы и минусы его использования. Однако, когда я создаю новый класс, я часто задаюсь вопросом - должен ли этот класс управляться Spring IOC Container? И я не хочу говорить о различиях...

28
Перехват против Инъекции: решение архитектуры платформы

Этот вопрос был перенесен из переполнения стека, потому что на него можно ответить в Software Engineering Stack Exchange. Мигрировал 7 лет назад . Есть эта структура, которую я помогаю разработать. Есть некоторые общие задачи, которые должны быть выполнены с использованием некоторых общих...

27
Какой лучший способ построить фабрику, используя NInject?

Я довольно удобен для внедрения зависимостей, используя NInject в MVC3. Работая в приложении MVC3, я разработал собственную фабрику создания контроллеров, используя NInject, поэтому любой созданный контроллер будет иметь зависимости, введенные в него через эту фабрику контроллеров. Сейчас я начинаю...

25
Внедрение зависимости ; передовая практика по сокращению стандартного кода

У меня простой вопрос, и я даже не уверен, что у него есть ответ, но давайте попробуем. Я пишу на C ++ и использую инъекцию зависимости, чтобы избежать глобального состояния. Это работает довольно хорошо, и я не часто сталкиваюсь с неожиданным / неопределенным поведением. Однако я понимаю, что по...

24
Инъекция зависимости: должен ли я использовать фреймворк?

Недавно я работал над проектом Python, в котором мы интенсивно делали внедрение зависимостей (потому что мы должны сделать так, чтобы приложение было тестируемым), но мы не использовали какую-либо инфраструктуру. Временами было немного утомительно связывать все зависимости вручную, но в целом все...

23
Domain-Driven-Design - внешние зависимости в проблеме сущностей

Я хотел бы начать Domain-Driven-Design, но есть несколько проблем, которые я хотел бы решить перед началом :) Давайте представим, что у меня есть Группы и Пользователи, и когда пользователь хочет присоединиться к группе, я вызываю groupsService.AddUserToGroup(group, user)метод. В DDD я должен...

23
Законная «настоящая работа» в конструкторе?

Я работаю над дизайном, но продолжаю преодолевать препятствия. У меня есть определенный класс (ModelDef), который по сути является владельцем сложного дерева узлов, созданного путем анализа XML-схемы (например, DOM). Я хочу следовать хорошим принципам проектирования (SOLID) и гарантировать, что...

22
Каков «правильный» способ реализации DI в .NET?

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

21
Является ли функциональное программирование жизнеспособной альтернативой шаблонам внедрения зависимостей?

Недавно я читал книгу под названием « Функциональное программирование на C #», и мне пришло в голову, что неизменяемая и не имеющая состояния природа функционального программирования обеспечивает результаты, аналогичные шаблонам внедрения зависимостей, и, возможно, даже лучший подход, особенно в...

21
Внедрение зависимостей против статических методов

Сегодня у меня была интересная дискуссия с другим разработчиком о том, как подойти к классу с помощью метода, который принимает строку и выводит строку. Представьте себе что-то вроде следующего, полностью составленное для примера. public string GetStringPart(string input) { //Some input validation...

21
Должно ли использование DI / IoC удалить все вхождения ключевого слова «new»?

Должно ли использование Dependency Injection и контейнера Inversion of Control удалить все вхождения newключевого слова " " из вашего кода? Другими словами, должен ли каждый объект / зависимость, независимо от того, простой ли он или недолговечный, быть «зарегистрирован» в вашем контейнере IoC и...

20
Проблема с пониманием слова «шов»

Я читаю «Внедрение зависимостей в .NET» Марка Симанна (это фантастика, и обязательно должна иметь), и автор часто использует слово «шов». Но я не могу понять, что это значит. Вот пример использования этого слова: Глава 7 объясняет, как составлять объекты в различных конкретных средах, таких как...

20
Каковы преимущества внедрения зависимостей в тех случаях, когда почти всем нужен доступ к общей структуре данных?

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

19
Должны ли абстракции снижать читабельность кода?

Хороший разработчик, с которым я работаю, недавно рассказал мне о некоторых трудностях, с которыми он столкнулся при реализации функции в некотором коде, который мы унаследовали; он сказал, что проблема была в том, что за кодом было трудно следовать. Исходя из этого, я посмотрел вглубь продукта и...

19
Анемичные доменные модели и внедрение доменных сервисов

Модель анемичного домена описана Мартином Фаулером как анти-шаблон в дизайне, управляемом доменом. Чтобы иметь бизнес-логику в доменных моделях, часто используются доменные службы. Но внедрение доменных служб в доменные модели считается вредным для Вона Вернона (см. «Внедрение доменного дизайна»,...

18
Практика внедрения зависимостей / контейнера IoC при написании фреймворков

Я использовал различные контейнеры IoC (Castle.Windsor, Autofac, MEF и т. Д.) Для .Net в ряде проектов. Я обнаружил, что они часто подвергаются насилию и поощряют ряд плохих практик. Существуют ли какие-либо устоявшиеся практики использования контейнера IoC, особенно при предоставлении платформы /...

18
Есть ли доказательства того, что использование внедрения зависимостей улучшает результаты в разработке программного обеспечения?

Несмотря на его популярность, есть ли эмпирические данные, которые показывают, что Dependency Injection (и / или использование DI-контейнера) помогает, скажем, уменьшать количество ошибок, улучшать удобство обслуживания или увеличивать скорость разработки в реальных программных...

17
Является ли DDD-Lite языком шаблонов для внедрения зависимостей?

Я наткнулся на выступление Грега Янга 7 Причины, по которым проекты DDD терпят неудачу, когда он упоминает нечто, что он называет DDD-Lite, в 7:20. Подводя итог, он в основном говорит, что некоторые используют DDD в качестве шаблонных языков (сущностей, репозиториев, объектов значений, сервисов и...

17
Когда использовать интерфейсы (модульное тестирование, IoC?)

Я подозреваю, что допустил ошибку школьника и ищу уточнения. Многие классы в моем решении (C #) - осмелюсь сказать, что большинство - я закончил тем, что написал соответствующий интерфейс для. Например, интерфейс «ICalculator» и класс «Calculator», который его реализует, хотя я вряд ли заменю этот...

17
Стоит ли внедрение зависимостей за пределы UnitTesting?

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