Роберт Мартин — лучшие цитаты из книг, афоризмы и высказывания

Цитаты из книг автора «Роберт Мартин»

1 535 
цитат

Образовавшуюся циклическую зависимость всегда можно разорвать и привести граф зависимостей к форме ациклического ориентированного графа (DAG). Для этого используются два основных механизма: 1. Применить принцип инверсии зависимостей (Dependency Inversion Principle; DIP).
18 июля 2019

Поделиться

Это ациклический ориентированный граф (Directed Acyclic Graph; DAG).
18 июля 2019

Поделиться

Принцип ацикличности зависимостей Циклы в графе зависимостей компонентов недопустимы.
17 июля 2019

Поделиться

На рис. 13.1 изображена диаграмма противоречий[30], показывающая, как три принципа связности влияют друг на друга. Ребра на диаграмме описывают цену нарушения принципа на противоположной вершине.
17 июля 2019

Поделиться

Единица повторного использования есть единица выпуска.
17 июля 2019

Поделиться

В этой главе мы обсудим три принципа, определяющих связность компонентов:  REP: Reuse/Release Equivalence Principle – принцип эквивалентности повторного использования и выпусков;  CCP: Common Closure Principle – принцип согласованного изменения;  CRP: Common Reuse Principle – принцип совместного повторного использования.
17 июля 2019

Поделиться

Не переопределяйте конкретные функции. Конкретные функции часто требуют зависимостей в исходном коде. Переопределяя такие функции, вы не устраняете эти зависимости – фактически вы наследуете их. Для управления подобными зависимостями нужно сделать функцию абстрактной и создать несколько ее реализаций
17 июля 2019

Поделиться

Не наследуйте изменчивые конкретные классы. Это естественное следствие из предыдущего правила, но оно достойно отдельного упоминания. Наследование в языках со статической системой типов является самым строгим и жестким видом отношений в исходном коде; следовательно, его следует использовать с большой осторожностью. Наследование в языках с динамической системой типов влечет меньшее количество проблем, но все еще остается зависимостью, поэтому дополнительная предосторожность никогда не помешает.
17 июля 2019

Поделиться

Не ссылайтесь на изменчивые конкретные классы. Ссылайтесь на абстрактные интерфейсы. Это правило применимо во всех языках, независимо от устройства системы типов. Оно также накладывает важные ограничения на создание объектов и определяет преимущественное использование шаблона «Абстрактная фабрика».
17 июля 2019

Поделиться

Здесь требуется что-то вроде следующего свойства подстановки: если для каждого объекта o1 типа S существует такой объект o2 типа T, что для всех программ P, определенных в терминах T, поведение P не изменяется при подстановке o1 вместо o2, то S является подтипом T[
17 июля 2019

Поделиться