Я новичок в DDD и думаю об использовании этой техники дизайна в моем проекте.Что делает мой код DDD (доменный дизайн) квалифицированным?
Однако, что меня поразило в DDD, так это то, что основная идея. В отличие от других методов проектирования, таких как MVC и TDD, он, похоже, не содержит каких-либо основополагающих идей.
Например, я уверен, что некоторые из вас будут иметь такое же ощущение, что идея создания и репозиториев корней не является чем-то новым, потому что, когда вы пишете веб-приложения MVC, у вас должен быть один главный объект (т. Е. корневой агрегат), которые содержат другие второстепенные объекты (т. е. объекты значений и сущности) на уровне модели, чтобы отправить данные на строго типизированное представление.
Для меня единственная новой идеи в DDD, вероятно
- «Smart» сущности (т.е. вы должны иметь бизнес-правила на корневых агрегатах)
- Разделения между объектом значения, корневой агрегатом и юридические лица.
Может ли кто-нибудь сказать мне, если я пропустил что-нибудь здесь? Если это все, что нужно для DDD, если я обновляю одно из существующих приложений MVC с помощью вышеуказанных двух новых идей, могу ли я утверждать, что это приложение TDD, MVC и DDD?
Я думал об одном и том же. Я с нетерпением жду, чтобы узнать, что говорят более опытные люди DDD. –
Вы смешиваете яблоки и груши ... DDD - это подход к архитектуре (хотя автор предпочитает название «стратегический дизайн»), который включает в себя различную архитектуру, шаблоны проектирования и техникумы, созданные на опыте. MVC - это архитектурный и дизайн-образец. TDD - это метод разработки, хотя он очень легкий, состоящий из простой технологии разработки. Эти вещи очень разные. Не смотрите в DDD на отдельные шаблоны, они в основном берутся из других источников и не относятся к DDD. –