2009-05-03 2 views
0

Требования
Проект должен содержать 1 основного приложения и некоторые вторичные приложения к югу (который использует одни и те же объекты домена, имеет некоторые общие службы, но имеет некоторые немного отличается слишком - ненужные для основного приложения, поэтому - должны быть разделены).архитектура проекта, используя DDD

Должна существовать служба общего доступа (возможно, в разных DLL) на большинстве объектов домена, если не все, с помощью настраиваемых критериев поиска и общей логики для получения возможных значений этих критериев (например, под-поиск авторов, для извлечения книги).

Задача
Подходит ли DDD здесь? И если это так, как должна выглядеть моя структура проекта? (лучший формат для ответа - список структурированных библиотек DLL + некоторые наиболее значимые пространства имен).

ответ

2

Идея глобальных доменных классов звучит вопреки DDD. Вы читали книгу?

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

+0

Если я понял вас правильно, значит, идея о глобальной службе поиска тоже противоречит и, следовательно, DDD не подходит, не так ли? p.s. да ... я кое-что прочитал. Я просто смущен. –

+0

Есть услуги, а затем есть услуги. Любые пользователи службы должны иметь возможность адаптироваться к намеченному контексту этой службы, чтобы эффективно использовать ее. Контекстные карты - это действительно способы разделить проблемы на разные контексты. Могут быть сервисы, которые подвергаются внешним сторонам и никогда не видят внутренности ваших контекстных карт. Могут быть сервисы, предназначенные для использования между контекстами на вашей карте. Так что это не разовый совет о том, как проектировать службы. Вопрос, который вы зададите себе, заключается в следующем: в каком контексте эта служба будет использоваться? –

+0

Насколько я понимаю - объединенная поисковая система является частью инфраструктуры. Это не относится к бизнесу. –