Habr<p>GRASP: почему настоящая архитектура начинается не с SOLID</p><p>Хочу начать с личной предыстории. Давным-давно, как и многие из вас, я читал умные книжки: «Чистый код» и «Чистая архитектура» Роберта Мартина, «Совершенный код» Стива Макконнелла и другие. Также не обошли меня и классические принципы проектирования — SOLID , KISS , DRY — и, думаю, каждый читатель добавит сюда свои. Безусловно, это всё важные и фундаментальные вещи. Но однажды на горизонте появилось DDD — предметно-ориентированное проектирование в изложении Эрика Эванса. Именно его «синяя книга» стала культовой и задала язык для архитектурного мышления. Позже я открыл и «красную книгу» Вона Вернона, где DDD уже рассматривался с точки зрения практической имплементации: архитектура, код, реальные подходы в проектах. Читая Эванса, рассматривая его диаграммы классов и примеры кода, я всё думал: как он это делает? Самым большим открытием для меня стало то, что книга DDD хоть и показывает стратегические и тактические приёмы — агрегаты, объекты-значения, спецификации, фабрики и т.д. — но не учит проектировать саму предметную область . Складывалось ощущение, что мы это уже откуда-то должны были знать . А откуда — остаётся загадкой.</p><p><a href="https://habr.com/ru/articles/900140/" rel="nofollow noopener" translate="no" target="_blank"><span class="invisible">https://</span><span class="">habr.com/ru/articles/900140/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/GRASP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GRASP</span></a> <a href="https://zhub.link/tags/%D0%BF%D0%B0%D1%82%D1%82%D0%B5%D1%80%D0%BD%D1%8B_%D0%BF%D1%80%D0%BE%D0%B5%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>паттерны_проектирования</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>архитектура</span></a> <a href="https://zhub.link/tags/DDD" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>DDD</span></a> <a href="https://zhub.link/tags/SOLID" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>SOLID</span></a> <a href="https://zhub.link/tags/OOP" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>OOP</span></a> <a href="https://zhub.link/tags/%D1%87%D0%B8%D1%81%D1%82%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>чистая_архитектура</span></a> <a href="https://zhub.link/tags/%D1%87%D0%B8%D1%81%D1%82%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>чистый_код</span></a></p>