Pull to refresh
0
0
Send message

Спасибо, а уточните какой софт использовали для запуска диаграмм? В dwawio такой фичи не видел.

Периодически попадаются статьи по SOLID и примерно понимал этот принцип как вы описали в статье (только конечно не ограничиваясь одной функцией в классе). Но недвано добрался до первоисточника, в котором написано совсем иное и был крайне удивлен как много опытных программистов ошибаются в понимании принципа единой ответственности.

Цитата из книги: Роберт Мартин "Чистая архитектура. Искусство разработки программного обеспечения"

Hidden text

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

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

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

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

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

Information

Rating
Does not participate
Registered
Activity