I have been using the following project structure in projects for some time, but want to start using CQRS/Event Sourcing. Looking for suggestions of how to structure the projects.
Currently I use this:
- ProjectName.Common: Extension methods, helpers, etc.
- ProjectName.Core: Contains the Domain Model and Service Interfaces that define how to interact with the Domain Model. I have been using Anemic Domain Models, but am looking to move to richer DDD models.
- ProjectName.Data: Contains the Repositories and UnitOfWork used to persist Domain Models to Entity Framework.
- ProjectName.Services: Conatins all of the Service Implementations described in the ProjectName.Core.Services namespace. Also contains the core business logic and validation and coordinates the retrieving and saving of Domain Models to the database via the repositories and unit of work.
- ProjectName.Web: Usually an ASP.NET MVC project or some other Presentation Layer.
What would the same thing in a CQRS/Event Sourcing pattern look like as far as structure goes?
I have read this post here: CQRS/Event sourcing project structure, but was looking for other ideas and examples.