--- Тип: Книга Статус: Запланировано Название: "Предметно-ориентированное проектирование (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 — инструменты управления сложностью на уровне всей системы и интеграции нескольких моделей - **Рефакторинг к более глубокому пониманию**: модель должна эволюционировать по мере роста знаний о предметной области; прорывные рефакторинги — норма, а не исключение ## 💬 Важные цитаты - «Единый язык — это не просто глоссарий. Это живой язык, который использует вся команда — в разговорах, документах и коде» - «Сложность скрывается в сердце программного обеспечения» - «Программисты должны стремиться не просто к созданию рабочей системы, а к настоящему пониманию того, что они создают» ## 💡 Как применить в моих проектах ## 🔗 Связанные заметки - [[Чистая архитектура]] - [[Шаблоны корпоративных приложений]] - [[Фундаментальный подход к программной архитектуре]] - [[Паттерны объектно-ориентированного проектирования]]