Описание тега dependency-inversion
По вопросам о принципе инверсии зависимостей в объектно-ориентированном программировании один из принципов SOLID был предложен Робертом К. Мартином. В нем говорится, что модули должны "зависеть от абстракций, а не от конкреций".
2
ответа
Как реализовать интерфейс Typescript для "класса" в стиле es5?
Способ, которым мы можем реализовать интерфейс к классу es6, довольно прост: interface IDog { bark(): void } class Dog implements IDog { bark(): void { } } Вопрос в том, как реализовать тот же интерфейс для этого "класса": const Dog = function() { }…
09 июл '18 в 00:50
2
ответа
Почему "защита от изменений" подразумевает направление зависимости?
Немного предыстории: я программист-самоучка, который начал работать на Python и изучал Java, когда я присоединился к MegaCorp(TM) 6 лет назад. Имея степень по математике, я довольно солиден (без каламбура) по алгоритмам и критическому мышлению, но я…
26 дек '18 в 14:37
1
ответ
Действительно ли инверсия зависимостей работает?
Я читал об инверсии зависимостей ('D' в SOLID) и посмотрел несколько примеров здесь. Однако я не понимаю, как полностью избавиться от зависимости! Согласно статье отношение Consumer -> Utility можно изменить на Utility -> Consumer, введя контракт / …
01 авг '17 в 10:34
0
ответов
Практический вопрос о методах твердого программирования
Практический вопрос о принципе обращения зависимостей: Мы хотим построить наши системы во многих библиотеках или библиотеках DLL. Если компоненты или классы библиотеки более низкого уровня должны зависеть от абстракции, будь то интерфейс Iinterface …
01 дек '18 в 11:17
1
ответ
Инверсия зависимости в быстром
Привет, у меня есть вопрос для разработчика, я читал книгу по программированию для iOS с ранчо большого ботаника. Мне было интересно, как структурировать и использовать технику для создания приложения. и я пытался реализовать это, и это была инверси…
24 фев '19 в 21:01
1
ответ
Swift - соответствие стороннего типа моему собственному протоколу с конфликтующими требованиями
Вот ситуация со сложившейся ситуацией: Допустим, сторонний фреймворк, написанный Алисой Аллман, предоставляет очень полезный класс: public class AATrackpad { public var cursorLocation: AAPoint = .zero } и другой фреймворк, написанный Бобом Беллом, п…
21 июн '18 в 08:06
1
ответ
Разделение проблем, инверсия зависимостей и проекции AutoMapper
Что касается проекта MVVM, в котором для проекций применяется AutoMapper.EF6, у меня возникли трудности с разделением задач доступа к данным и слоев моделей представления и сохранением инверсии зависимостей между этими слоями. Предположим, у нас ест…
03 янв '18 в 17:09
1
ответ
Инверсия зависимостей в программах со многими классами (C++)
Я пытаюсь преобразовать старый код C++ в более тестируемую форму. Чтобы соответствовать принципу обращения зависимостей (DIP), я буду использовать внедрение зависимостей во многих случаях. Мой вопрос заключается в том, как лучше всего создавать конк…
22 окт '17 в 18:57
1
ответ
Где мы должны определить интерфейс Go в сценарии с несколькими потребителями? Как насчет интерфейса в производителе, чтобы показать общность?
Может кто-нибудь дать мне конкретный пример этого совета? https://github.com/golang/go/wiki/CodeReviewComments#interfaces Так вот, как я следую этому? package worker type interface DB { getAllTable() } type worker struct { db DB } func (w worker) do…
19 ноя '18 в 19:52
3
ответа
Принцип инверсии зависимостей
Я читал о твердых принципах ООП (принцип инверсии зависимости) и не совсем понял, как это работает. Когда один класс явно знает о дизайне и реализации другого класса, изменения в одном классе повышают риск нарушения другого класса. скажем, у меня ес…
25 дек '16 в 16:38
20
ответов
Что такое принцип обращения зависимостей и почему он важен?
Что такое принцип обращения зависимостей и почему он важен?
15 сен '08 в 12:53
1
ответ
Корни динамической конфигурации? На основании вызова дб?
У меня есть приложение, которое при запуске знает достаточно, чтобы выбрать базу данных и вытащить объект конфигурации. Затем он выполняется на этом объекте конфигурации, удаляет кучу вещей, вытягивает другой объект конфигурации, выполняет его и т. …
02 окт '17 в 16:19
1
ответ
Проблема внедрения зависимости структурной карты: экземпляр по умолчанию не зарегистрирован и не может быть определен автоматически
Я просто добавил StructureMap из Nuget и изменил файл DefaultRegistry, как это открытый класс DefaultRegistry: Registry { #region Конструкторы и деструкторы public DefaultRegistry() { Scan( scan => { // scan.TheCallingAssembly(); scan.AssembliesF…
29 сен '17 в 04:37
4
ответа
Принцип инверсии зависимостей в JavaScript
Кто-нибудь может помочь проиллюстрировать принцип инверсии зависимости в JavaScript jQuery? Что бы выделить и объяснить эти 2 пункта: A. Модули высокого уровня не должны зависеть от модулей низкого уровня. Оба должны зависеть от абстракций. Б. Абстр…
18 мар '11 в 07:02
6
ответов
Разница между внедрением зависимости и инверсией зависимости
Существуют два шаблона проектирования, а именно Внедрение зависимостей и Инверсия зависимостей. В сети есть статьи, пытающиеся объяснить разницу. Но необходимость объяснить это более простыми словами все еще существует. Есть кто-нибудь, кто мог бы п…
12 окт '17 в 12:05
1
ответ
Разрешить зависимость Виндзорского замка от имени аргумента
При условии Component.For<IService>().ImplementedBy<SecretService>().Named("secretService") Component.For<IService>().ImplementedBy<PublicService>().Named("publicService") А также class Foo{ public Foo(IService publicService)…
31 янв '18 в 12:33
2
ответа
Инъекция бетонных классов считается плохой практикой
Меня интересует принцип инверсии зависимостей в целом и необходимость его строгого соблюдения постоянно. Я знаю, что использование интерфейсов для инъекции в целом способствует слабой связи, что оказывает положительное влияние. Однако существуют опр…
31 июл '17 в 21:42
2
ответа
Что означает "абстракции не должны зависеть от деталей. Детали должны зависеть от абстракций" в смысле принципа инверсии зависимости [DIP]?
Прежде чем задать этот вопрос, я хотел бы сказать, что этот вопрос в stackru очень похож на мой вопрос, но, тем не менее, концепция не совсем понятна и очень запутана. Я пытаюсь понять принцип инверсии зависимости, но не могу понять его полностью? Н…
17 окт '18 в 14:19
0
ответов
Как я могу отделить модуль оплаты от других модулей?
Я использую весеннюю загрузку для разработки проекта "заказ-оплата". Бывают ситуации, когда клиент создает заказ, я создаю для него счет, он оплачивает счет, и когда я замечаю, что счет оплачивается, я что-то делаю для заказа. Вот простое описание р…
17 фев '18 в 03:24
2
ответа
Инверсия зависимости: как лучше управлять версиями ваших абстракций
Как создавать версии абстракций в.Net при применении инверсии зависимости в среде с высоким повторным использованием кода Я заинтересован в переходе на использование Dependency Inversion в.Net, но натолкнулся на то, что меня озадачило. Я не верю, чт…
09 янв '18 в 22:15