DDD с .NET - есть ли общая библиотека инфраструктуры? - PullRequest
4 голосов
/ 30 декабря 2011

Мы запускаем веб-приложение с использованием DDD и CQRS (с использованием фреймворка ncqrs ), и прежде чем мы начнем писать собственную библиотеку классов инфраструктуры, я хотел бы узнать, доступны ли они уже.

Я думаю, что по крайней мере некоторые базовые интерфейсы и общие реализации для записи в файловую систему, отправки электронных писем и т. Д. Могут быть использованы в любом проекте.

Ответы [ 3 ]

6 голосов
/ 30 декабря 2011

Эти типы сервисов в достаточной степени зависят от контекста, чтобы быть непригодными для общих платформ над возможностями, предоставляемыми .NET Framework. Могут быть рамки, сконцентрированные вокруг конкретных задач, таких как электронная почта, однако вам лучше выбрать решение, которое соответствует требованиям, а не наоборот. Вместо этого рассмотрите некоторые примеры проектов DDD, перечисленных здесь .

2 голосов
/ 30 декабря 2011

Я согласен с тем, что ранее высказал eulerfx.Я бы добавил, что если вы зависите от структуры для использования DDD и CQRS, то вы рискуете зависеть от структуры и не совсем понимаете, что происходит.В результате вы можете пропустить то, что вам предоставляет DDD (и CQRS).

Я скажу, что я начал изучать CQRS с помощью фреймворка (на самом деле NCQRS), но мои знания DDD были основанына книгу Эванса, и я не искал рамки для моделирования моей области.Поскольку каждый домен уникален для данной проблемы, я думаю, что трудно действительно создать среду, которая «помогает» вам реализовать DDD.

В ретроспективе, я бы не хотел использовать NCQRS с самого начала, поскольку я пропустилили пропущены некоторые тонкости паттерна CQRS.

Вероятно, существуют некоторые среды DDD, но я бы порекомендовал отказаться от них и создать свою собственную.Вы будете благодарить себя позже.

Надеюсь, это поможет.Удачи!

0 голосов
/ 04 декабря 2012

Вы можете попробовать мою библиотеку CoreDdd , документацию здесь , сообщения в блоге об этом здесь . Он содержит поддержку DDD (сущности, совокупные корни) и CQRS (команды, запросы). Нет поддержки для написания файловой системы или отправки электронной почты, используйте стандартный .net для этого.

...