Base/Knowledges/Библиотека/Книги/Предметно-ориентированное проектирование (DDD).md

59 lines
4.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
Тип: Книга
Статус: Запланировано
Название: "Предметно-ориентированное проектирование (DDD)"
Автор:
- Эрик Эванс
Количество страниц: 448
Прогресс: 0
Формат: Электронная
Обложка: Библиотека/Книги/covers/predmetno-orientirovannoe-proektirovanie.jpg
Начата:
Закончена:
Оценка:
Сложность:
Теги:
- ddd
- архитектура
- проектирование
- domain_driven_design
- ооп
Категории:
- Программирование
- Проектирование систем
Источник:
Ссылка:
---
# Предметно-ориентированное проектирование (DDD)
![[covers/predmetno-orientirovannoe-proektirovanie.jpg]]
## 📖 О книге
Фундаментальная книга Эрика Эванса, заложившая основы Domain-Driven Design. Рассматривает стратегические и тактические паттерны создания сложных программных систем через глубокое понимание предметной области. Ключевые концепции — единый язык (Ubiquitous Language), ограниченный контекст (Bounded Context), агрегаты, сущности и объекты-значения. Издательство «Вильямс», 2020, перевод В. Л. Бродового.
## 🧠 Ключевые идеи
- **Единый язык (Ubiquitous Language)**: общий словарь между разработчиками и экспертами предметной области — основа DDD; код должен отражать этот язык напрямую, без «перевода»
- **Ограниченный контекст (Bounded Context)**: каждая модель применима только в чётко очерченном контексте; попытка создать универсальную модель «на все случаи» ведёт к хаосу
- **Тактические паттерны**: Entity (сущности с идентичностью), Value Object (объекты без идентичности), Aggregate (кластер объектов с корнем), Repository, Factory — строительные блоки модели предметной области
- **Стратегические паттерны**: Bounded Context, Context Map, Anti-Corruption Layer — инструменты управления сложностью на уровне всей системы и интеграции нескольких моделей
- **Рефакторинг к более глубокому пониманию**: модель должна эволюционировать по мере роста знаний о предметной области; прорывные рефакторинги — норма, а не исключение
## 💬 Важные цитаты
- «Единый язык — это не просто глоссарий. Это живой язык, который использует вся команда — в разговорах, документах и коде»
- «Сложность скрывается в сердце программного обеспечения»
- «Программисты должны стремиться не просто к созданию рабочей системы, а к настоящему пониманию того, что они создают»
## 💡 Как применить в моих проектах
## 🔗 Связанные заметки
- [[Чистая архитектура]]
- [[Шаблоны корпоративных приложений]]
- [[Фундаментальный подход к программной архитектуре]]
- [[Паттерны объектно-ориентированного проектирования]]