Принципы и паттерны проектирования

Дизайн уровня классов на примерах Spring: SOLID, GRASP, все 23 паттерна GoF, DRY/KISS/YAGNI и другие инженерные принципы — где живут во фреймворке и как применять у себя.

Зачем для UCP. UCP-код — это классы: Handler-ы, агрегаты, порты, адаптеры. Принципы SOLID и паттерны GoF — словарь, на котором проектируется каждый из них; Spring сам построен на этих принципах, и осознанно пользоваться фреймворком без них нельзя. Соответствует фазе 5 программы.

Раздел про дизайн уровня классов — в отличие от архитектурных паттернов, которые работают на уровне сервиса. Примеры — на Spring: каждый принцип и паттерн показан и внутри самого фреймворка, и в прикладном коде.

Статьи раздела

  1. SOLID на примерах Spring — пять принципов: как их воплощает сам фреймворк и как применять в своём коде.
  2. Паттерны GoF в Spring — все 23 паттерна: какие живут в каждом Spring-приложении, какие пишут руками, какие остались в 1994 году.
  3. GRASP на примерах Spring — девять ответов на вопрос «какому классу отдать эту ответственность».
  4. DRY, KISS, YAGNI и другие инженерные принципы — девять принципов уровня решений: от строчки кода до выбора второго микросервиса.

Связанное

  • Spring — механика фреймворка: DI, AOP, прокси — то, чем Spring реализует эти принципы.
  • Архитектурные паттерны — следующий уровень: CQRS, Hexagonal, resilience.
  • Паттерны DDD — проектирование домена: агрегаты, value objects, события.
  • Java Style Guide — правила стиля и дизайна с кодами для AI-ревью.