GRASP: почему настоящая архитектура начинается не с SOLID
Хочу начать с личной предыстории. Давным‑давно, как и многие из вас, я читал умные книжки:
«Чистый код» и
«Чистая архитектура» Роберта Мартина,
«Совершенный код» Стива Макконнелла и другие.
Также не обошли меня и классические принципы проектирования —
SOLID,
KISS,
DRY — и, думаю, каждый читатель добавит сюда свои.
Безусловно, это всё важные и фундаментальные вещи.
Но однажды на горизонте появилось
DDD — предметно‑ориентированное проектирование в изложении Эрика Эванса. Именно его
«синяя книга» стала культовой и задала язык для архитектурного мышления.
Позже я открыл и
«красную книгу» Вона Вернона, где DDD уже рассматривался с точки зрения практической имплементации: архитектура, код, реальные подходы в проектах.
Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал:
как он это делает?Самым большим открытием для меня стало то, что книга
DDD хоть и показывает стратегические и тактические приёмы — агрегаты, объекты‑значения, спецификации, фабрики и т. д. —
но не учит проектировать саму предметную область.
Складывалось ощущение, что мы это
уже откуда‑то должны были знать. А откуда — остаётся загадкой.
Читать далее