Введение

Чтобы вникнуть в этот и другие принципы, нам понадобится ввести несколько понятий, которые будем использовать.

Модулем мы будем называть какую-то часть кода, обособленную от других. Это может быть класс, функция, объект, файл — в общем, что-то, у чего есть границы, отделяющие этот код от другого.

Бизнес-правилами будем называть правила взаимодействия сущностей друг с другом и внешней средой. Под внешней средой будем понимать всё, что влияет на программу извне — пользовательский ввод, события, вызов API и т. д.

Причиной изменения будем называть обновление бизнес-правил, которое вынуждает менять код какого-либо модуля.

Принцип единственной ответственности

Принцип единственной ответственности (Single Responsibility Principle, SRP) означает, что у модуля должна быть только одна причина для изменения. Весь код, который меняется по этой причине, должен быть собран в этом модуле.

Проще говоря принцип предлагает нам проводить границы между модулями так, чтобы изменение в бизнес-правилах затрагивало как можно меньше модулей, в идеале — один.

Основной инструмент принципа — объединять те части, которые меняются по одной причине, и разделять те, которые меняются по разным.

Смысл принципа — в объединении частей, которые меняются по одной причине, и разделении тех, которые меняются по разным

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

Коротко

Принцип единственной ответственности:

  • помогает разбивать и декомпозировать задачи по одной на модуль;
  • уменьшает количество модулей, которые надо изменить при изменении требований;
  • ограничивает влияние изменений, помогая контролировать сложность системы.

Материалы к разделу

Вопросы