views:

211

answers:

1

Requirements
Project should contain 1 main application and some secondary sub applications (which uses the same domain objects, has some shared services, but has some slightly different too - unneeded for main app, therefore - should be separated).

There should exist shared search service (probably, in different DLL) over most of the domain objects, if not all, by customizable search criterias and shared logic for retrieving possible values of those criterias (like sub-search of authors, to retrieve a book by it).

Problem
Does DDD fits here? And if it does, how my project structure should look like? (best format for answer - list of structured DLL`s + some most significant namespaces).

+2  A: 

The idea of globally shared domain classes sounds contrary to DDD. Have you read the book?

With globally shared domain classes there's little room left for context maps. Without context maps you'll get little advantage out of DDD in anything but trivial applications.

Steven Devijver
If i understood you correct, that means - idea about a global search service is contrary too and therefore DDD does not fits, right?p.s. yes... i've done some reading. i'm just seriously confused.
Arnis L.
There are services and then there are services. Any users of a service has to be able to adapt to the intended context of that service in order to use it effectively.Context maps are really ways to separate concerns into different contexts. There may be services that are exposed the external parties and the never see the internals of your context maps. There may be services that are meant to be used in between contexts in your map. So that's not a one-off advice on how to design services. The question you have to ask yourself is: in which context will this service be used?
Steven Devijver
As far as i understand - united search engine is part of infrastructure only. It does not relates to business.
Arnis L.