DDD - Seedwork Application Blocks
DDD-Seedwork is a set of lightweight Application Blocks with the goal of help on the development of NLayered DDD Applications. It is limited, of course, only to the "coding" part of a project related to Domain Driven Design (DDD) - code based on DDD patterns, does not mean having a DDD solution.
Martin Fowler has a very interesting post related to Seedwork http://www.martinfowler.com/bliki/Seedwork.html. Seedwork is the most possible reusable library, that can serve the maximum number of Apps Contexts. Framework, for us, will be libraries related to some specific approach or technology.
DDD Core Components
PM> Install-Package Swaksoft.Core
Domain Seedwork Application Block
PM> Install-Package Swaksoft.Domain.Seedwork
Application Seedwork Application Block
PM> Install-Package Swaksoft.Application.Seedwork
Infrastructure Seedwork Application Blocks
Crosscutting Seedwork Application Block
PM> Install-Package Swaksoft.Infrastructure.Crosscutting
- Logging
- Caching
- Validation
- Type mapping
Authorization Crosscutting Application Block
PM> Install-Package Swaksoft.Infrastructure.Crosscutting.Authorization
Communication Crosscutting Application Block
PM> Install-Package Swaksoft.Infrastructure.Crosscutting.Communication
Data
- contains adapters for Entity Framwork and NHibernate
EntityFramework Data Infrastructure Application Block
PM> Install-Package Swaksoft.Infrastructure.Data.Seedwork
NHibernate Data Infrastructure Application Block
PM> Install-Package Swaksoft.Infrastructure.Data.NHibernate.Seedwork