Подтвердить что ты не робот

Существуют ли проекты с открытым исходным кодом с использованием DDD (Domain Driven Design)?

Я пытаюсь понять концепции DDD, но мне трудно понять, просто прочитав книги, поскольку они склонны обсуждать эту тему довольно абстрактно. Я хотел бы увидеть некоторые хорошие реализации DDD в коде, желательно на С#.

Есть ли хорошие примеры проектов, практикующих DDD в мире с открытым исходным кодом?

4b9b3361

Ответ 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, в лучшем случае примеры могут показать результаты моделирования домена и/или один подход для реализации шаблонов. Поэтому я рекомендовал бы прочитать книгу, а затем задать вопросы на форуме .

Ответ 8

Я знаю, что это не С#, но это мета-инфраструктура Java, которая следует за подходом, основанным на домене: я мало что знаю об этом, но я готов изучить его в ближайшем будущем: Рома Framework