Quote from habr
Принцип единственной ответственности возник как попытка объединения двух важных понятий структурного анализа и проектирования: coupling (сопряжение, зацепление, связанность) и cohesion (сплочённость, связность, прочность модуля).
Как это было
- В 1972 году Дэвид Парнас публикует статью в которой он высказывает идею декомпозиции системы на модули основываясь на том как они могут изменяться в будущем.
- В 1974 Эдсгер Дейкстра
вводит новый термин: The Separation of Concerns (Разделение ответственности). - В конце 70х Том Демарко популяризирует понятия coupling и cohesion предложенные ранее (в 1974) Ларри Константином.
- В конце 90х — начале 2000х Дядя Боб объединяет все эти идеи в принцип единственной ответственности.
Модуль A связан с модулем B, или что тоже самое, модуль B связан с модулем А, только тогда когда существует передача информации между ними.
Модуль A зависит от модуля B, а модуль B не зависит от A, если изменения в спецификации А никогда не приведут к изменениям кода в B, а изменения в спецификации B могут приводить к изменениям кода в A.
Существует также альтернативная формулировка:
Модуль A зависит от модуля B, а модуль B не зависит от A, если удаление модуля B приводит к нарушениям в работе A.
Комментариев нет:
Отправить комментарий