Цитаты из книги «Чистая архитектура. Искусство разработки программного обеспечения» Роберта Мартина📚 — лучшие афоризмы, высказывания и крылатые фразы — MyBook. Страница 34
image
На рис. 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

Поделиться

Принцип единственной ответственности (Single Responsibility Principle; SRP) касается функций и классов, но он проявляется в разных формах на еще двух более высоких уровнях. На уровне компонентов он превращается в принцип согласованного изменения (Common Closure Principle; CCP), а на архитектурном уровне – в принцип оси изменения (Axis of Change), отвечающий за создание архитектурных границ.
17 июля 2019

Поделиться

Слово «связный» подразумевает принцип единственной ответственности. Связность – это сила, которая связывает код, ответственный за единственного актора.
17 июля 2019

Поделиться

модуль – это просто связный набор функций и структур данных.
17 июля 2019

Поделиться