Для меня это было Шаблоны разработки, Объясненные , это обеспечило, 'О, это - то, как это момент работ для меня в отношении шаблонов разработки и было очень полезно при обучении шаблонов разработки другим.
Во-первых, если вы не знаете, что он вам нужен, возможно, он вам и не нужен. Если вы не осознаете проблемы, которые решает DDD, возможно, у вас их нет. Даже сторонники DDD часто указывают на то, что DDD предназначен только для крупных (> 6 месяцев) проектов.
Предполагая, что вы все еще читаете этот момент, я так понимаю DDD:
DDD пытается помочь сделайте свое программное обеспечение моделью реальной системы или процесса. При использовании DDD вы должны тесно сотрудничать с экспертом в предметной области , который может объяснить, как работает реальная система. Например, если вы разрабатываете систему, которая обрабатывает ставки на скачки, вашим экспертом в предметной области может быть опытный букмекер.
Между вами и экспертом в предметной области, вы создаете вездесущий язык (UL), который по сути является концептуальным описанием системы. Идея состоит в том, чтобы вы могли записывать, что делает система, таким образом, чтобы эксперт в предметной области мог прочитать это и убедиться, что это правильно. В нашем примере со ставками универсальный язык будет включать определение таких слов, как «гонка», «ставка», «шансы» и т. Д.
Концепции, описанные UL, лягут в основу вашего объектно-ориентированного дизайна. . DDD предоставляет некоторые четкие инструкции о том, как ваши объекты должны взаимодействовать, и помогает вам разделить ваши объекты на следующие категории:
DDD также рекомендует несколько шаблонов:
Теперь, в этот момент я должен сказать, что если вы не слышали ни о чем из этих вещей раньше, вы не должны пытаетесь использовать DDD в любом проекте, для которого у вас есть крайний срок. Прежде чем пытаться использовать DDD, вы должны ознакомиться с шаблонами проектирования и шаблонами проектирования предприятия . Знание их значительно упрощает понимание DDD. И, как упоминалось выше, существует бесплатное введение в DDD , доступное в InfoQ (где вы также можете найти информацию о DDD).
Прежде чем пытаться использовать DDD, вы должны ознакомиться с шаблонами проектирования и шаблонами проектирования предприятия . Знание их значительно упрощает понимание DDD. И, как упоминалось выше, существует бесплатное введение в DDD , доступное в InfoQ (где вы также можете найти информацию о DDD). Прежде чем пытаться использовать DDD, вы должны ознакомиться с шаблонами проектирования и шаблонами проектирования предприятия . Знание их значительно упрощает понимание DDD. И, как упоминалось выше, существует бесплатное введение в DDD , доступное в InfoQ (где вы также можете найти информацию о DDD).В качестве примера возьмем StackOverflow. Вместо того, чтобы приступить к разработке некоторых веб-форм, вы сначала сосредотачиваетесь на объектно-ориентированном моделировании сущностей в вашей проблемной области, например, пользователей, вопросов, ответов, голосов, комментариев и т. Д. Поскольку дизайн определяется деталями проблемы. домен называется доменно-управляемым дизайном .
Вы можете прочитать больше в книге Эрика Эванса .