Принципы и паттерны проектирования
Дизайн уровня классов на примерах Spring: SOLID, GRASP, все 23 паттерна GoF, DRY/KISS/YAGNI и другие инженерные принципы — где живут во фреймворке и как применять у себя.
Зачем для UCP. UCP-код — это классы: Handler-ы, агрегаты, порты, адаптеры. Принципы SOLID и паттерны GoF — словарь, на котором проектируется каждый из них; Spring сам построен на этих принципах, и осознанно пользоваться фреймворком без них нельзя. Соответствует фазе 5 программы.
Раздел про дизайн уровня классов — в отличие от архитектурных паттернов, которые работают на уровне сервиса. Примеры — на Spring: каждый принцип и паттерн показан и внутри самого фреймворка, и в прикладном коде.
Статьи раздела
- SOLID на примерах Spring — пять принципов: как их воплощает сам фреймворк и как применять в своём коде.
- Паттерны GoF в Spring — все 23 паттерна: какие живут в каждом Spring-приложении, какие пишут руками, какие остались в 1994 году.
- GRASP на примерах Spring — девять ответов на вопрос «какому классу отдать эту ответственность».
- DRY, KISS, YAGNI и другие инженерные принципы — девять принципов уровня решений: от строчки кода до выбора второго микросервиса.
Связанное
- Spring — механика фреймворка: DI, AOP, прокси — то, чем Spring реализует эти принципы.
- Архитектурные паттерны — следующий уровень: CQRS, Hexagonal, resilience.
- Паттерны DDD — проектирование домена: агрегаты, value objects, события.
- Java Style Guide — правила стиля и дизайна с кодами для AI-ревью.