Публикации по теме 'dependency-inversion'


SOLID в действии: принцип инверсии зависимостей
"Разработка программного обеспечения" SOLID в действии: принцип инверсии зависимостей Зависимость от абстракций. Не полагайтесь на конкреции. Принцип инверсии зависимостей (DIP) Наивное применение традиционных методов разработки программного обеспечения (например, SADT или метод структурного анализа и проектирования) в…

Твердые принципы: 5. Принцип инверсии зависимостей
Сегодня о последнем и очень важном принципе SOLID, инверсии зависимостей. Определение принципа инверсии зависимостей из Википедии: Модули высокого уровня не должны зависеть от модулей низкого уровня — отношения между ними должны быть результатом абстракции. Другими словами, в классах и методах мы не должны использовать какие-либо имена конкретных классов , это должны быть только имена интерфейсов и абстрактных классов . Кроме того, классы не должны наследовать от конкретных..

Вопросы по теме 'dependency-inversion'

Почему инверсия управления и принцип инверсии зависимостей не являются шаблонами проектирования, а внедрение зависимостей?
Почему внедрение зависимостей является шаблоном проектирования, а инверсия управления и принцип инверсии зависимостей оба нет? Мне они кажутся шаблонами проектирования, несмотря на их различия.
57 просмотров

Разрабатывать слои сначала, имея в виду переход к принципу инверсии зависимостей и инверсии управления на более позднем этапе?
У меня есть базовое приложение, которое будет развиваться. Прямо сейчас пользовательский интерфейс включает BLL. DAL — это отдельная библиотека, которая служит своей цели. У меня нет времени делать все прямо сейчас, поэтому я хочу обойти шаблоны,...
115 просмотров

Означает ли принцип инверсии зависимостей, что я должен создавать интерфейс для каждого модуля?
Если я хочу, чтобы мой код следовал принципам SOLID, в частности принципу инверсии зависимостей, означает ли это, что я должен создавать интерфейс (абстракцию) для каждого модуля, даже если он имеет только одну реализацию? На мой взгляд, и согласно...
1072 просмотров

Является ли принцип Open-Closed SOLID таким же, как кодирование для интерфейса?
Означает ли открытость для расширения и закрытость для модификации код для интерфейса? Если я кодирую интерфейс так, что будущие конкретные реализации могут быть введены путем реализации интерфейса, и мы создаем новые классы, не затрагивая...
67 просмотров

Использовать классы типов для реализации инверсии зависимостей в приложении Haskell?
Одной из основных архитектурных целей при проектировании больших приложений является уменьшение связанности и зависимостей. Под зависимостями я подразумеваю зависимости исходного кода, когда одна функция или тип данных использует другую функцию или...
201 просмотров

Принцип инверсии зависимостей в PHP
Поскольку PHP — язык со свободной типизацией, как можно применить принцип DIP в PHP? Практический пример будет принят с благодарностью.
3430 просмотров