Предметно-ориентированное проектирование, Скотт Миллетт, Ник Тюн

2022-02-09T08:53:59+05:00 | 2 минуты чтения | Обновлено 2024-07-19T18:43:56+05:00

Попытаюсь кратко изложить содержание книги для тех, кто хочет познакомиться с DDD не тратя много времени.

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

Перечислю основные, далее будут ссылки на все части книги где будет приведено краткое содержание глав.

Основные концепции

Предметно ориентированное проектирование - это философия проектирования программного обеспечения (ПО). Это набор приемов и хороших практик которые позволят получить поддерживаемый продукт с наименьшей сложностью на выходе. Это не набор шаблонов и не фреймворк.

Предметная область это деятельность для которой создаётся ПО (ecom, банковская деятельность, медицина).

Смысловое ядро (core domain) - ключевая часть предметной области, то, что служит причиной создания софта, а не его покупки, главное на чем должно быть сосредоточено внимание команды.

Ограниченный контекст (bounded context) - устанавливает границы между моделями в коде. Проектирование модели ведется в рамках контекста.

Единый язык (ubiquitous language) - единая терминология которая используется бизнесом и разработчиками для коммуникации и описание сущностей в коде. Позволяет сократить количество абстракций и упростить коммуникацию.

Стратегические шаблоны - подходы и методики к проектированию, не связанные с организацией кода: сотрудничество, единый язык, ограниченные контексты.

Тактические шаблоны DDD - это приемы позволяющие создавать эффективные модели внутри контекста. По сути сюда относятся паттерны проектирования описанные у Фаулера.

Идеи

DDD подходит не всегда и это дорого - для получения выгоды нужно, чтобы система имела сложное смысловое ядро. Если система не отличается сложностью и не подвержена частым изменениям, то DDD тут не место.

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

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

Краткий обзор глав

Многие из них, на мой взгляд, представляют пережевывание уже упомянутых концепций, а некоторые содержат новую информацию.

© 2022 - 2024 pahanini.com - записная книжка

🌱 Powered by Hugo with theme Dream.

О себе

Меня зовут Павел. Работаю в sima-land.ru

Отвечаю за большую часть ИТ инфраструктуры. Умею писать код, руководить людьми. Разбираюсь во многих аспектах ИТ: программирование, управление, архитектура.

Еще у меня много разных хобби не связанных с ИТ.

Этот сайт я использую как записную книжку. Может эта информация будет полезна кому-то еще.

Фото

Все фото на сайте мои и чаще никак не связаны с темой статьи.

Лицензия(Creative Commons)

Контент сайта лицензирован CC BY-NC-SA 4.0

All contents of this website are licensed under CC BY-NC-SA 4.0

Социальные сети