I'm writing big project and I want to apply Domain Driven Design (DDD) on it. Here is my projects and explanation:
- XXX.Domain.Entities - POCO (Plain Old C# Object) classes (Ex: Message.cs)
XXX.Domain.Services - The services of the domain
XXX.Infrastructure - Infrastructure Interfaces
- XXX.Infrastructure.Concrete - the impl of the intefaces from XXX.Infrastructure
XXX.Infrastructure.DI - Dependency injection modules (Ex: RepositoryModule.cs)
XXX.Services - The services of the application (but I don't know where to put the impl)
XXX.Tests - Unit tests (Ex: SomeTest.cs)
XXX.Web.Ui - MVC5 app
But I can't understand where I should put anyone of those: IMessagesService.cs (BL for model Messages), MessagesService.cs (BL for model Messages), SessionHelper.cs, MessageMapping.cs, IMailerService.cs, MailerService.cs
Also: Where should I put IRepository and GenericRepository (impl)?