1. Single responsibility principle
Принцип единой ответственности
один класс должен решать одну задачу
применимо сущность решает одну задачу
у каждого класса одна зона ответственности
мы все декомпозируем на модули
- к классу
- к функциональному программированию
- к фронтенду
- к компонентам
не должны одновременно (антипаттерн или God object)
- у которого миллион обязанностей
- много связанного кода
- что-то ломается одно, то что-то ломается другое
- много строк в коде класса
- дорого вносить изменения в большой класс
Вынести классы по определенной задаче для сущности
+ мы не ковыряемся в одной сущности
мы идем в конкретный модуль и решаем конкретную локальную задачу
— мы разделили модель данных (класс объекты, которые содержат какое-то состояние)
— мы разделили поведение (каждый класс отвечает за какую-то конкретную операцию)
— мы можем расспалерить задачи (дать работать разработчикам)
- логировать что-то
- записывать что-то
- отправлять что-то
- выводить что-то