Запитання з тегом «dependency-injection»

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 dependency2; private …

4
Використовувати введення залежностей для об'єктів даних?
Я просто вчуся про ін'єкцію залежності, і я зациклююся на чомусь. Dependency Injection рекомендує надсилати залежні класи через конструктор, але мені цікаво, чи це необхідно для об'єктів даних. Оскільки Unit-Testability є однією з головних переваг DI, чи буде об'єктом даних, який зберігає дані, а не будь-які процедури ніколи не перевіряються …

1
Використання порядку вирішення методу Python для введення залежності - це погано?
Я спостерігав, як Реймонд Хеттінгер говорив про "Супер вважається Супер" і дізнався трохи про MRO Python (Order Resolution Order), який детерміновано лінеаризує "батьківські" класи. Ми можемо використовувати це для наших переваг, як у наведеному нижче коді, щоб зробити ін'єкцію залежності. Тому зараз, природно, я хочу використовувати superдля всього! У наведеному …

4
Як використовувати ін'єкцію залежності в поєднанні з заводською схемою
Розглянемо модуль, який відповідає за аналіз файлів будь-якого типу. Я думаю про використання схеми стратегії для вирішення цієї проблеми, як я вже пояснював тут . Будь ласка, зверніться до пов’язаної публікації, перш ніж продовжувати це питання. Розглянемо клас B, який потребує вмісту файлу product.xml. Цей клас повинен буде інстанціювати відповідний …

5
Чи можемо ми повністю замінити успадкування, використовуючи схему стратегії та введення залежності?
Наприклад: var duckBehaviors = new Duckbehavior(); duckBehaviors.quackBehavior = new Quack(); duckBehaviors.flyBehavior = new FlyWithWings(); Duck mallardDuck = new Duck(DuckTypes.MallardDuck, duckBehaviors) Оскільки клас Дак містить усі форми поведінки (реферат), створюється новий клас MallardDuck(який розширюється Duck), здається, не потрібно. Довідка: Шаблон першого дизайну голови, глава 1.

3
Впорскування в залежності: Чи слід створити клас "Автомобіль", щоб вмістити всі його частини?
У моєму додатку C ++ є багато автомобілів, які містяться у RaceTrack. Кожна машина складається з сотень деталей. Кожна частина залежить від якоїсь іншої частини чи двох. Я прочитав багато запитань ТА щодо книги Д.І. та Марка Семана, і, схоже, я не повинен визначати клас «Автомобіль» лише для того, щоб …

1
Яка мотивація за анотацією @ImplementedBy в Guice?
Нещодавно я читав про @ImplementedByанотацію, доступну в Google Guice . Це дозволяє програмісту задати прив'язку між інтерфейсом та його реалізацією для подальшого використання в режимі введення залежності. Це приклад щойно вчасно прив’язки . Я досить звик визначати явні прив’язки в своїх модулях, використовуючи наступний синтаксис: bind(SomeInterface.class).to(SomeInterfaceImplementation.class); Згідно з документацією, це …

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

4
Як можна вбудувати залежність від введення залежності? [зачинено]
Закрито . Це питання має бути більш зосередженим . Наразі відповіді не приймаються. Хочете вдосконалити це питання? Оновіть питання, щоб воно зосередило увагу на одній проблемі, лише відредагувавши цю публікацію . Закрито 4 роки тому . Я трохи роздумував над тим, як ін’єкцію залежності можна краще інтегрувати безпосередньо в мову, …

3
Рекомендації щодо інтеграції контейнера DI / IoC у існуючу програму
Зараз я стикаюся з інтеграцією контейнера інверсії керування (IoC) у існуючий додаток, і я шукаю деякі рекомендації щодо того, як це можна найпростіше здійснити з кінцевою метою зменшення зчеплення, тим самим підвищити простежуваність. Хоча я, як правило, не класифікую більшість класів як об'єкти бога , кожен має занадто багато обов'язків …

2
До сховища чи не до сховища
Коли я вперше дізнався про дизайн, керований доменом, мене також ознайомили з сховищем та одиницею роботи, які колись здавались найкращими для крутих дітей, які кидали запити SQL, як печери, проти баз даних. Чим глибше я заглиблювався в цю тему, тим більше я дізнався, що вони, здається, вже не потрібні через …

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

3
Скільки ін'єкцій є прийнятним в одному класі при використанні ін'єкційних залежностей
Я використовую Unity в C # для введення залежності, але питання повинно бути застосовано до будь-якої мови та структури, де використовується ін'єкція залежності. Я намагаюся слідувати принципу SOLID, і тому я отримав багато абстракцій. Але зараз мені цікаво, чи є найкраща практика щодо того, скільки ін’єкцій слід зробити одному класу? …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.