|
Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем
рекомендуем
Эрик Эванс
Год выпуска: 2022
Изд-во: Науковий світ
ISBN: 978-617-7812-25-7
Переплёт: мягкий
448 страниц
Цена: 670.00 грн. Есть в наличии - дата отправки: 10 декабря На 1 книгу
|
Классическая книга Э. Эванса "Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем" освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества их взаимодействия и передачи логической структуры знаний, организация программ на основе крупномасштабных структур, выработка общего языка и стратегии коммуникации в группе. Подход автора строится на динамичном рефакторинге модели и постоянной дистилляции знаний. Это позволяет достигнуть высокой степени гармонии между логикой предметной области и кодом программы, а также достаточной гибкости программной архитектуры для целей удобной доработки и интеграции программного обеспечения. Книга насыщена практическими примерами из реальных проектов. Мировое сообщество программистов признает, что предметно-ориентированное проектирование (Domain Driven Design) - ключевой раздел проектирования программного обеспечения. В моделях предметных областей разработчики выражают сложные функции своих программ, реализуя их затем в таком виде, который отвечает реальным потребностям пользователей. Но несмотря на очевидную важность предмета, существует очень мало пособий по эффективному внедрению моделирования предметных областей в практику разработки программ.
Книга Эрика Эванса "Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем" заполняет этот пробел. Она посвящена не отдельным технологиям, а систематическому предметно-ориентированному подходу. В ней представлен широкий набор приемов и методик, основанных на практическом опыте, и фундаментальных принципов, помогающих в реализации программных проектов из сложных предметных областей. Органично переплетая практику проектирования и реализации программ, эта книга содержит множество фактических примеров, иллюстрирующих применение общих стратегических принципов в реальных программных проектах. Из книги читатель узнает, как с помощью модели предметной области придать разработке сложной системы нужную направленность и динамику. Выделены основные приемы и образцы-шаблоны, образующие общий язык группы разработчиков. Особо подчеркивается необходимость рефакторинга не только кода, но и модели в его основе, что в сочетании с итерационной agile-методикой приводит к углублению знаний о предметной области и повышению качества взаимодействия между специалистами и программистами. Подход книги строится именно на этом фундаменте, предлагая модели и архитектуры для систем и организаций любой сложности. В частности, в книге рассматриваются следующие темы:
- Единый язык общения для всей группы разработчиков. - Глубокая связь между моделью и программной реализацией. - Выделение ключевых черт модели. - Управление циклом существования объектов. - Написание легко интегрируемого кода предметной области. - Как сделать сложный код очевидным и предсказуемым в поведении. - Формулировка введения в предметную область. - Дистилляция ядра предметной области. - Поиск неявных понятий, скрытых в модели. - Применение аналитических шаблонов. - Архитектурные шаблоны в моделях. - Поддержание целостности больших систем. - Сосуществование нескольких моделей в одном проекте. - Организация систем в соответствии с крупномасштабными структурами. - Качественные скачки в моделях.
Имея под рукой эту книгу, разработчики объектно-ориентированных программ, системные аналитики и архитекторы будут всегда располагать набором рекомендаций по организации своего труда, созданию сложных и полезных моделей предметных областей, превращению их в высококачественные, долгоживущие программные продукты. Книга предназначена для повышения квалификации программистов, работающих, в частности, по методикам экстремального программирования и agile-разработки. Может быть полезна студентам соответствующих специальностей.
Об авторе книги "Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем" Эрик Эванс (Eric Evans), является основателем Domain Language - консультативной группы, которая помогает различным фирмам строить и развивать программные системы, тесно связанные с их профессиональной деятельностью. Автор работал в качестве архитектора и программиста над большими объектно-ориентированными системами в ряде сложных коммерческих и технических предметных областей, начиная с 1980-х годов. Он также занимается повышением квалификации групп разработчиков в области экстремального программирования.
Рекомендации книги "Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем":
"Эта книга должна стоять на полке у всякого мыслящего программиста." - Кент Бек (Kent Beck)
"Эрику удалось ухватить суть того, что опытные проектировщики программных объектов всегда знали, но проваливали все попытки донести это знание до своих коллег в смежных областях. Мы охотно делимся отдельными секретами... но никогда не заботились об организации и систематизации принципов построения логической структуры предметной области. Вот почему эта книга так важна." - Кайл Браун (Kyle Brown), автор книги "Enterprise Java Programming with IBM WebSphere"
Оглавление книги Эрика Эванса "Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем"
Предисловие Введение к книге Предметно-ориентированное проектирование (DDD): структуризация сложных программных систем
Часть I. МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ В РАБОТЕ Глава 1. Переработка знаний Глава 2. Коммуникация и язык Глава 3. Связь между моделью и реализацией
Часть II. СТРУКТУРНЫЕ ЭЛЕМЕНТЫ ПРЕДМЕТНО-ОРИЕНТИРОВАННОГО ПРОЕКТИРОВАНИЯ Глава 4. Изоляция предметной области Глава 5. Модель, выраженная в программе Глава 6. Цикл существования объектов модели Глава 6. Цикл существования объектов модели Глава 7. Работа с языком: расширенный пример
Часть III. УГЛУБЛЯЮЩИЙ РЕФАКТОРИНГ Глава 8. Качественный скачок Глава 9. Перевод неявных понятий в явные Глава 10. Гибкая архитектура Глава 11. Применение аналитических шаблонов Глава 12. Шаблоны и модель Глава 13. Углубляющий рефакторинг
Часть IV. СТРАТЕГИЧЕСКОЕ ПРОЕКТИРОВАНИЕ Глава 14. Поддержание целостности модели Глава 15. Дистилляция Глава 16. Крупномасштабная структура Глава 17. Объединение стратегических подходов
Заключение Приложение. Использование шаблонов в этой книге Глоссарий Список литературы Фотографии
|