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

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

4
Постепенные подходы к внедрению зависимости
Я работаю над тем, чтобы сделать мои классы модульно-тестируемыми, используя внедрение зависимостей. Но некоторые из этих классов имеют много клиентов, и я не готов реорганизовать их все, чтобы начать передавать зависимости. Поэтому я пытаюсь сделать это постепенно; пока сохраняем зависимости по умолчанию, но позволяем переопределять их для тестирования. Один из …

1
Что означает «разрешение» в программировании? [закрыто]
Закрыто . Этот вопрос основан на мнении . В настоящее время он не принимает ответы. Хотите улучшить этот вопрос? Обновите вопрос, чтобы ответить на него фактами и цитатами, отредактировав этот пост . Закрыто 4 года назад . Я вижу во многих местах, где используется это слово Resolve, в Dependency Injection …

5
Как использовать внедрение зависимостей и избежать временной связи?
Предположим, у меня есть тот, Serviceкоторый получает зависимости через конструктор, но также должен быть инициализирован с пользовательскими данными (контекстом), прежде чем их можно будет использовать: public interface IService { void Initialize(Context context); void DoSomething(); void DoOtherThing(); } public class Service : IService { private readonly object dependency1; private readonly object …

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

1
Использование порядка разрешения методов Python для внедрения зависимостей - это плохо?
Я наблюдал за речью Рэймонда Хеттингера о Pycon «Супер рассмотренный супер» и немного узнал о MRO (порядок разрешения методов) Python, который линеаризует классы «родительские» классы детерминистическим способом. Мы можем использовать это в наших интересах, как в приведенном ниже коде, для внедрения зависимостей. Так что теперь, естественно, я хочу использовать superдля …

4
Как использовать Inpendency Injection в сочетании с шаблоном Factory
Рассмотрим модуль, который отвечает за синтаксический анализ файлов любого типа. Я думаю об использовании паттерна стратегии для решения этой проблемы, как я уже объяснил здесь . Пожалуйста, обратитесь к связанному посту, прежде чем продолжить этот вопрос. Рассмотрим класс B, которому нужно содержимое файла product.xml. Этот класс должен будет создать экземпляр …

5
Можем ли мы полностью заменить наследование, используя шаблон стратегии и внедрение зависимостей?
Например: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Поскольку класс Duck содержит все типы поведения (абстрактные), создание нового класса MallardDuck(который расширяется Duck), по-видимому, не требуется. Ссылка: Head First Design Pattern, глава 1.

3
Инъекция зависимости: Должен ли я создать класс Car, содержащий все его части?
У меня есть много автомобилей в моем приложении C ++, все они содержатся в RaceTrack. Каждый автомобиль состоит из сотен частей. Каждая часть зависит от какой-то другой части или двух. Я прочитал много SO вопросов о DI и книге Марка Симанна, и похоже, что я не должен определять класс Car …

1
Какова мотивация аннотации @ImplementedBy в Guice?
Недавно я прочитал об @ImplementedByаннотации, доступной в Google Guice . Это позволяет программисту определять связь между интерфейсом и его реализацией для будущего использования при внедрении зависимостей. Это пример привязки точно в срок . Я довольно привык определять явные привязки в моих модулях, используя следующий синтаксис: bind(SomeInterface.class).to(SomeInterfaceImplementation.class); Согласно документации, это эквивалентно …

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

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

3
Рекомендации по интеграции контейнера DI / IoC в существующее приложение
Теперь я сталкиваюсь с интеграцией контейнера инвертирования управления (IoC) в существующее приложение, и я ищу некоторые рекомендации о том, как этого легче всего достичь с конечной целью уменьшения связи, тем самым повышая тестируемость. Хотя я обычно не классифицирую большинство классов как объекты бога , у каждого из них слишком много …

2
В хранилище или не в хранилище
Когда я впервые узнал о Domain Driven Design, меня также познакомили с репозиторием и шаблонами рабочих единиц, которые когда-то казались первоклассными для крутых ребят, которые бросали SQL-запросы, например, пещерные люди, в базы данных. Чем глубже я углубился в эту тему, тем больше я узнал, что они больше не нужны, поскольку …

4
окружающий контекст против внедрения конструктора
У меня много базовых классов, которым требуется ISessionContext базы данных, ILogManager для журнала и IService, используемый для связи с другими сервисами. Я хочу использовать внедрение зависимостей для этого класса, используемого всеми основными классами. У меня есть две возможные реализации. Базовый класс, который принимает IAmbientContext со всеми тремя классами или вводит …

3
Сколько инъекций допустимо в одном классе при использовании внедрения зависимостей
Я использую Unity в C # для внедрения зависимостей, но вопрос должен быть применим для любого языка и среды, в которых используется внедрение зависимостей. Я пытаюсь следовать принципу SOLID, и поэтому я получил много абстракций. Но теперь я задаюсь вопросом, есть ли лучшая практика для того, сколько инъекций должен сделать …

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