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

Dependency Injection - це схема дизайну, де залежності (екземпляри об'єктів, властивостей) компонента встановлюються через конструктор (и), методи або поля (властивості). Це особлива форма більш загальної інверсії залежності.

4
Для чого потрібні рамки для введення залежності? [зачинено]
Я читав більше про принцип інверсії управління та введення залежності, як про його реалізацію, і я впевнений, що я це розумію. Здається, це в основному говорить "не оголошувати членів класу" моменти в класі ". Скоріше, щоб екземпляри повинні бути передані і призначені через конструктор; 'вводиться' у клас із стороннього джерела. …

2
Скільки коштує занадто багато введення залежності?
Я працюю над проектом, який використовує (Spring) Dependency Injection для буквально всього, що є залежністю класу. Ми знаходимось у точці, коли файл конфігурації Spring виріс приблизно до 4000 рядків. Не так давно я дивився один з переговорів дядька Боба на YouTube (на жаль, я не зміг знайти посилання), у якому …

12
Чи поступова зміна методології написання коду вплинула на продуктивність системи? І чи варто мені байдуже?
TD; DR: Була певна плутанина щодо того, що я просив, тож ось ідея, яка рухає за питанням: Я завжди мав намір питання бути таким, яким воно є. Я, можливо, не сформулював це добре спочатку. Але намір завжди був " модульний, відокремлений, вільний зв'язаний, роз'єднаний, реконструйований код " помітно повільніше за …

3
Як ін'єкційна залежність збільшує зв'язок?
На сторінці Вікіпедії про введення залежності, в розділі про недоліки йдеться про це: Введення залежності збільшує зв'язок, вимагаючи від користувача підсистеми забезпечити потреби цієї підсистеми. із посиланням на статтю проти введення залежності . Ін'єкційна залежність змушує клас використовувати інтерфейс замість конкретної реалізації. Це повинно призвести до зменшення зв'язку , ні? …

4
Чи "Інверсія контролю" сприяє "анемічній моделі домену"?
Коли я використовував IoC Container в своєму останньому проекті, я стикався з анемічними сутностями та більшою частиною своєї бізнес-логіки в службах без громадянства. Я бачив проекти, написані іншими розробниками, які використовують "Інверсію контролю", і вони завжди "анемічні". Оскільки "Анемічна модель домену" є антидіаграмою, чи можна використовувати IoC та Rich Domain? …

6
Які класи повинні бути автоматичними провідними Spring (коли використовувати ін'єкцію залежності)?
Я вже деякий час використовую ін'єкційну залежність навесні, і я розумію, як вона працює, і які є плюси та мінуси її використання. Однак, коли я створюю новий клас, я часто замислююся - чи повинен цим класом керувати Spring IOC Container? І я не хочу говорити про відмінності між анотацією @Autowired, …

4
Перехоплення проти ін'єкції: рішення архітектури рамки
Це питання було перенесено із переповнення стека, оскільки на нього можна відповісти на Exchange Software Stack Exchange. Мігрували 7 років тому . Є ця структура, яку я допомагаю розробляти. Є кілька загальних завдань, які слід виконувати за допомогою деяких загальних компонентів: зокрема ведення журналів, кешування та підвищення подій. Я не …

5
Який найкращий спосіб побудувати завод за допомогою NInject?
Мені дуже зручно введення залежності, використовуючи NInject в MVC3. Працюючи в додатку MVC3, я розробив власну фабрику створення контролерів за допомогою NInject, тому будь-який створений контролер матиме залежність, введені в нього через цю Фабрику контролерів. Зараз я починаю розробляти додаток для Windows, я хочу використовувати широкозахисну програму Dependency Injection. тобто …

6
Ін'єкційна залежність; передовий досвід зменшення кодового коду
У мене просте запитання, і я навіть не впевнений, що він має відповідь, але спробуємо. Я кодую C ++ і використовую ін'єкцію залежностей, щоб уникнути глобального стану. Це працює досить добре, і я не часто зустрічаюсь з несподіваною / невизначеною поведінкою. Однак я усвідомлюю, що, коли мій проект зростає, я …

9
Введення залежності: чи слід використовувати рамку?
Нещодавно я працював над проектом Python, де ми зробили велику кількість ін'єкцій залежностей (тому що ми повинні робити тест на додаток), але не використовували жодної основи. Часом було трохи стомливо підключати всі залежності вручну, але в цілому це працювало чудово. Коли об’єкт потрібно було створити в декількох місцях, ми просто …

4
Законна "реальна робота" в конструкторі?
Я працюю над дизайном, але продовжуйте вражати блокпост. У мене є особливий клас (ModelDef), який по суті є власником складного дерева вузлів, побудованого за допомогою аналізу XML-схеми (думаю, DOM). Я хочу дотримуватися принципів хорошого дизайну (SOLID) та забезпечити легку перевірку отриманої системи. У мене є всі наміри використовувати DI для …

2
Дизайн, керований доменом - зовнішні залежності в проблемі Entity
Я хотів би запустити дизайн, керований доменом, але є кілька проблем, які я хотів би вирішити перед початком :) Давайте уявимо, що у мене є групи та користувачі, і коли користувач хоче приєднатися до групи, я викликаю groupsService.AddUserToGroup(group, user)метод. У DDD я повинен зробити group.JoinUser(user), що виглядає досить непогано. Проблема …

7
Який "правильний" спосіб впровадження DI в .NET?
Я хочу реалізувати ін'єкцію залежності у відносно великому застосуванні, але не маю досвіду в цьому. Я вивчив концепцію та кілька реалізацій доступних інжекторів IoC та залежностей, таких як Unity та Ninject. Однак є одне, що мені ухиляється. Як я можу організувати створення примірника у своїй програмі? Я думаю про те, …

4
Чи є функціональне програмування життєздатною альтернативою моделям введення залежності?
Нещодавно я читав книгу під назвою Функціональне програмування на C #, і мені здається, що незмінний і безгромадянський характер функціонального програмування досягає аналогічних результатів, ніж схеми введення залежності і, можливо, є навіть кращим підходом, особливо щодо тестування одиниць. Я вдячний, якби кожен, хто має досвід обох підходів, міг би поділитися …

6
Чи має використання DI / IoC видаляти всі виникнення "нового" ключового слова?
Чи повинні використання введення залежностей та інверсія контейнера управління видалити всі випадки newключового слова з вашого коду? Іншими словами, чи повинен кожен об'єкт / залежність, незалежно від того, наскільки простий чи короткочасний, "бути зареєстрований" у вашому контейнері IoC та введений у метод / клас, який потребує їх використання? Якщо ні, …

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