Описание тега single-responsibility-principle

По вопросам о принципе единой ответственности в объектно-ориентированном программировании, одном из принципов SOLID, придуманных Робертом К. Мартином. В нем говорится, что у модуля должна быть только одна причина для изменения.

Роберт Мартин был вдохновлен Дэвидом Парнасом, Эдсгером Дейкстра (который ввел термин " разделение проблем") и Ларри Константином (который ввел термины " сцепление" и " сплоченность"). В конце 1990-х Мартин объединил свои идеи в Принцип единой ответственности.

Мартинское определение SRP превратилось в

Соберите воедино то, что меняется по одним и тем же причинам. Разделяйте те вещи, которые меняются по разным причинам.

Как и предыдущие авторы, которые его вдохновляли, Мартин отмечает, что:

... это просто еще один способ определения сплоченности и сцепления.

В отличие от принципа разделения ответственности, SRP ориентирована на людей, а не на функциональность.

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

Позднее SRP стал первым твердым принципом Мартина.