Поиск книг, людей и списков
Read This Twice
ГлавнаяЛюдиКнигиSonaБиблиотекиВойти
Предметно-ориентированное проектирование (DDD) book cover

Предметно-ориентированное проектирование (DDD)

Структуризация сложных программных систем

Eric Evans

Классическая книга Э. Эванса освещает наиболее общий, стратегический круг вопросов, связанных с объектно-ориентированной разработкой программного обеспечения. Это переработка и структуризация знаний о предметных областях, применение типовых архитектурных шаблонов, построение и анализ моделей предметных областей, проектирование программных объектов с точки зрения качества их взаимодействия и передачи логической структуры знаний, организация программ на основе крупномасштабных структур, выработка общего языка и стратегии коммуникации в группе. Подход автора строится на динамичном рефакторинге модели и постоянной дистилляции знаний. Это позволяет достигнуть высокой степени гармонии между логикой предметной области и кодом программы, а также достаточной гибкости программной архитектуры для целей удобной доработки и интеграции программного обеспечения. Книга насыщена практическими примерами из реальных проектов. Мировое сообщество программистов признает, что моделирование предметных областей — ключевой раздел проектирования программного обеспечения. В моделях предметных областей разработчики выражают сложные функции своих программ, реализуя их затем в таком виде, который отвечает реальным потребностям пользователей. Но несмотря на очевидную важность предмета, существует очень мало пособий по эффективному внедрению моделирования предметных областей в практику разработки программ. Книга Эрика Эванса заполняет этот пробел. Она посвящена не отдельным технологиям, а систематическому предметно-ориентированному подходу. В ней представлен широкий набор приемов и методик, основанных на практическом опыте, и фундаментальных принципов, помогающих в реализации программных проектов из сложных предметных областей. Органично переплетая практику проектирования и реализации программ, эта книга содержит множество фактических примеров, иллюстрирующих применение общих стратегических принципов в реальных программных проектах. Из книги читатель узнает, как с помощью модели предметной области придать разработке сложной системы нужную направленность и динамику. Выделены основные приемы и образцы-шаблоны, образующие общий язык группы разработчиков. Особо подчеркивается необходимость рефакторинга не только кода, но и модели в его основе, что в сочетании с итерационной agile-методикой приводит к углублению знаний о предметной области и повышению качества взаимодействия между специалистами и программистами. Подход книги строится именно на этом фундаменте, предлагая модели и архитектуры для систем и организаций любой сложности. В частности, в книге рассматриваются следующие темы: * Единый язык общения для всей группы разработчиков * Глубокая связь между моделью и программной реализацией * Выделение ключевых черт модели * Управление циклом существования объектов * Написание легко интегрируемого кода предметной области * Как сделать сложный код очевидным и предсказуемым в поведении * Формулировка введения в предметную область * Дистилляция ядра предметной области * Поиск неявных понятий, скрытых в модели * Применение аналитических шаблонов * Архитектурные шаблоны в моделях * Поддержание целостности больших систем * Сосуществование нескольких моделей в одном проекте * Организация систем в соответствии с крупномасштабными структурами * Качественные скачки в моделях Имея под рукой эту книгу, разработчики объектно-ориентированных программ, системные аналитики и архитекторы будут всегда располагать набором рекомендаций по организации своего труда, созданию сложных и полезных моделей предметных областей, превращению их в высококачественные, долгоживущие программные продукты. Книга предназначена для повышения квалификации программистов, работающих, в частности, по методикам экстремального программирования и agile-разработки. Может быть полезна студентам соответствующих специальностей.
Дата публикации
2003-08-20T00:00:00.000Z
2003-08-20T00:00:00.000Z
Рейтинг Goodreads
4.15
ISBN
8601300201665
Рекомендации
2
Рекомендации
2012-12-26T00:00:00.000Z
This is probably the least readable book of the bunch. It’s a slug to work through, but the ideas are worth it. It’s a great primer on how to turn a problem space into a beautiful OO domain model. What should your models be called? What logic goes where? How do we reproduce reality into an object model.      источник
2020-09-01T01:41:19.000Z
I absolutely love this book. I was surprised, in my research, to find a very early use of the phrase "domain-driven design" in a paper from 2003 by Bedir Tekinerdogan and Mehmet Aksit from @utwenteEN      источник