There are many good ways to organize a DDD application solution, so be open to experimenting. I changed my mind several times. I think the details depend on the technology you use, but the overall organization remains the same.
- One solution for limited context
- One domain project containing the model (objects, value objects, repository interfaces, etc.).
- One Domain.Persistence (or DataAccess) project containing NHibernate mappings, repository implementations, and NHibernate-specific types. If you have serious plans to create more than one save layer, you can name them Domain.Persistence ..
- One application project containing application level code (services)
- Windows
DDDSample.Net. DDD . , , :
, .