Читаем Чистая архитектура. Искусство разработки программного обеспечения полностью

 SRP: Single Responsibility Principle – принцип единственной ответственности.

Действительное следствие закона Конвея: лучшей является такая структура программной системы, которая формируется в основном под влиянием социальной структуры организации, использующей эту систему, поэтому каждый программный модуль имеет одну и только одну причину для изменения.

 OCP: Open-Closed Principle – принцип открытости/закрытости.

Этот принцип был сформулирован Бертраном Мейером в 1980-х годах. Суть его сводится к следующему: простая для изменения система должна предусматривать простую возможность изменения ее поведения добавлением нового, но не изменением существующего кода.

 LSP: Liskov Substitution Principle – принцип подстановки Барбары Лисков.

Определение подтипов Барбары Лисков известно с 1988 года. В двух словах, этот принцип утверждает, что для создания программных систем из взаимозаменяемых частей эти части должны соответствовать контракту, который позволяет заменять эти части друг другом.

 ISP: Interface Segregation Principle – принцип разделения интерфейсов.

Этот принцип призывает разработчиков программного обеспечения избегать зависимости от всего, что не используется.

 DIP: Dependency Inversion Principle – принцип инверсии зависимости.

Код, реализующий высокоуровневую политику, не должен зависеть от кода, реализующего низкоуровневые детали. Напротив, детали должны зависеть от политики.

Эти принципы детально описаны во множестве публикаций[22]. Последующие главы освещают влияние этих принципов на проектирование архитектур, не повторяя подробное обсуждение из этих публикаций. Если вы еще не знакомы с перечисленными принципами, обсуждения, следующего далее, будет недостаточно, чтобы понять их во всех подробностях, поэтому я рекомендую обратиться к документам, перечисленным в сноске.

<p>7. Принцип единственной ответственности</p>

Из всех принципов SOLID наиболее трудно понимаемым является принцип единственной ответственности (Single Responsibility Principle, SRP). Это, вероятно, обусловлено выбором названия, недостаточно точно соответствующего сути. Услышав это название, многие программисты решают: оно означает, что каждый модуль должен отвечать за что-то одно.

Самое интересное, что такой принцип действительно существует. Он гласит: функция должна делать что-то одно и только одно. Этот принцип мы используем, когда делим большие функции на меньшие, то есть на более низком уровне. Но он не является одним из принципов SOLID – это не принцип единственной ответственности.

Традиционно принцип единственной ответственности описывался так:

Модуль должен иметь одну и только одну причину для изменения.

Программное обеспечение изменяется для удовлетворения нужд пользователей и заинтересованных лиц. Пользователи и заинтересованные лица как раз и есть та самая «причина для изменения», о которой говорит принцип. Фактически принцип можно перефразировать так:

Модуль должен отвечать за одного и только за одного пользователя или заинтересованное лицо.

К сожалению, слова «пользователь» и «заинтересованное лицо» не совсем правильно использовать здесь, потому что одного и того же изменения системы могут желать несколько пользователей или заинтересованных лиц. Более правильным выглядит понятие группы, состоящей из одного или нескольких лиц, желающих данного изменения. Мы будем называть такие группы акторами (actor).

Перейти на страницу:

Похожие книги

Mass Effect. Восхождение к звездам. История создания космооперы BioWare
Mass Effect. Восхождение к звездам. История создания космооперы BioWare

Далекие звезды – мечта, пленяющая сердца людей на протяжении столетий. Космические путешествия стали излюбленным сюжетом научно-фантастических произведений. Уже ранние видеоигры затрагивали тему космоса, но полное раскрытие она получила в культовой серии игр Mass Effect от студии BioWare. В этой книге французского игрового журналиста Николя Доменга описана хроника создания оригинальной трилогии Mass Effect. Через историю студии автор показывает, как формировалась уникальная вселенная Mass Effect, какие идеи заложены в ее основу и как разработчикам удалось добиться эффекта реалистичного погружения в мир игры и дать каждому игроку возможность выбирать свой путь.В формате PDF A4 сохранен издательский макет.

Николя Доменг

Карьера, кадры / Зарубежная компьютерная литература / Книги по IT
Чистая архитектура. Искусство разработки программного обеспечения
Чистая архитектура. Искусство разработки программного обеспечения

«Идеальный программист» и «Чистый код» – легендарные бестселлеры Роберта Мартина – рассказывают, как достичь высот профессионализма. «Чистая архитектура» продолжает эту тему, но не предлагает несколько вариантов в стиле «решай сам», а объясняет, что именно следует делать, по какой причине и почему именно такое решение станет принципиально важным для вашего успеха.Роберт Мартин дает прямые и лаконичные ответы на ключевые вопросы архитектуры и дизайна. «Чистую архитектуру» обязаны прочитать разработчики всех уровней, системные аналитики, архитекторы и каждый программист, который желает подняться по карьерной лестнице или хотя бы повлиять на людей, которые занимаются данной работой.

Роберт Сесил Мартин , Роберт С. Мартин

Программирование, программы, базы данных / Зарубежная компьютерная литература / Книги по IT
Mass Effect. Восхождение к звездам. История создания космооперы BioWare
Mass Effect. Восхождение к звездам. История создания космооперы BioWare

Далекие звезды – мечта, пленяющая сердца людей на протяжении столетий. Космические путешествия стали излюбленным сюжетом научно-фантастических произведений. Уже ранние видеоигры затрагивали тему космоса, но полное раскрытие она получила в культовой серии игр Mass Effect от студии BioWare. В этой книге французского игрового журналиста Николя Доменга описана хроника создания оригинальной трилогии Mass Effect. Через историю студии автор показывает, как формировалась уникальная вселенная Mass Effect, какие идеи заложены в ее основу и как разработчикам удалось добиться эффекта реалистичного погружения в мир игры и дать каждому игроку возможность выбирать свой путь.В формате PDF A4 сохранен издательский макет.

Николя Доменг

Зарубежная компьютерная литература / Книги по IT