Помог подготовить статью клиенту на Хабр, заодно сам разобрался поглубже с довольно специфическим понятием "класс" (class) в контексте языков программирования (я раньше, лет 5 назад, не отличал его от "типа данных").

Также написал в блог заказчика анонс, вышел в такой формулировке:

«Не понимаю, как делить код на классы»

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

Владимир показывает как подойти к организации кода, используя три ключевых типа классов:

1. Дата-класс: хранит данные, не содержит бизнес-логики. 2. Класс-управленец: описывает процессы и алгоритмы, делегируя задачи другим классам. 3. Класс-исполнитель: выполняет конкретные, узкие действия.

Далее Владимир детально разбирает два принципа, которые необходимо применять вместе для создания сбалансированной архитектуры: деление по домену (области интересов, например, «Пользователь» или «Заказ») и деление по роли (специализация класса, например, «Валидатор» или «Клиент API»).

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

Статья будет полезным руководством для тех, кто хочет разобраться в основах проектирования кода и снизить хаос в структуре проекта.

Читаем-знакомимся здесь: [https://habr.com/ru/companies/cinimex/articles/958440/]