Существуют ли проекты с открытым исходным кодом с использованием DDD (Domain Driven Design)?
Я пытаюсь понять концепции DDD, но мне трудно понять, просто прочитав книги, поскольку они склонны обсуждать эту тему довольно абстрактно. Я хотел бы увидеть некоторые хорошие реализации DDD в коде, желательно на С#.
Есть ли хорошие примеры проектов, практикующих DDD в мире с открытым исходным кодом?
Ответы
Ответ 1
Эрик Эванс и шведская консалтинговая компания выпустили образец приложения, основанный на примере доставки, который Эрик использует во всей книге. Это в Java, но концепции хорошо документированы на странице проекта.
http://dddsample.sourceforge.net/
Однако следует предупредить, что DDD - это больше, чем путешествие. Поймите, что пример кода, который вы ищете, принимал множество форм, прежде чем он стал тем, что вы видите сейчас. Вы не видели неудобных моделей, которые были изначально использованы, и вам не хватает шагов, предпринятых для реорганизации модели, основанной на проницательности, полученной на этом пути. Хотя строительные блоки важны для DDD, Эрик верит, что они чрезмерно подчеркнуты, поэтому возьмите все образцы с солью.
Ответ 2
Я не уверен, насколько это полно, но я нашел образец NDDD в Google Code.
Ответ 3
Я удивлен, что никто не упомянул Macto, образец Ayende DDD. Самая важная вещь в Macto заключается в том, что процесс мышления дыры перед фактическим кодированием представлен в в серии сообщений. DDD не о внедрении модели, а о моделировании бизнес-домена. Решения типа "некоторая концепция - это совокупный объект Root/Entity/Value" гораздо важнее, чем то, как AR сохраняется.
Также я бы порекомендовал видео Udi Dahan о SOA и CQRS, которые могли бы обеспечить лучший контекст для применения DDD.
Ответ 4
Это не проект с открытым исходным кодом, но все же это пример кода: http://www.codeplex.com/dddpds
Пример используется в книге .NET Domain-Driven Design с С#: Problem-Design-Solution
Приведенный пример, который кажется многообещающим, но, возможно, умер:
http://www.codeplex.com/domaindrivendesign
Ответ 5
Я боюсь, что http://www.codeplex.com/domaindrivendesign действительно умер, но если кто-то заинтересован в содействии, не стесняйтесь обращаться ко мне.
В целом я бы рекомендовал не слишком полагаться на примеры DDD, в лучшем случае примеры могут показать результаты моделирования домена и/или один подход для реализации шаблонов. Поэтому я рекомендовал бы прочитать книгу, а затем задать вопросы на форуме .
Ответ 6
http://kigg.codeplex.com/ - хороший пример для меня.
Ответ 7
Хорошее чтение - книга Джимми Нилсонса (и блог в этом отношении)
Применение проекта, управляемого доменом
Это смесь книг Эванса и Фаулерса (Domain-Driven Design - Evans) и (Шаблоны архитектуры корпоративных приложений - Fowler)
Ответ 8
Я знаю, что это не С#, но это мета-инфраструктура Java, которая следует за подходом, основанным на домене: я мало что знаю об этом, но я готов изучить его в ближайшем будущем: Рома Framework
Ответ 9
http://sellandbuy.codeplex.com/
другой проект DDD
Ответ 10
Я сам не использовал, но есть некоторые инструменты, упомянутые на странице Wikipedia DDD. Большинство из них, похоже, реализованы на Java, хотя.
http://en.wikipedia.org/wiki/Domain-driven_design#Software_tools_to_support_domain-driven_design
Ответ 11
Хорошо, я нашел это, но это Java не С#:
http://timeandmoney.domainlanguage.com/
Ответ 12
Code Camp Server, образец Джеффри Палермо код для книги ASP.NET MVC в действии является открытым исходным кодом и использует DDD.
(То же, что и мой ответ в Хорошие образцы Driven Design)