steal-this-code icon indicating copy to clipboard operation
steal-this-code copied to clipboard

Example implementation of CQRS, Ports & Adapters and Domain Driven Design

DDD, CQRS and Hexagonal C# reference architecture

This code-base is my interpretation of Command Query Responsibility Segregation, Domain-Driven Design, and Hexagonal/Ports and Adapter.

I've written what I've learned in the following blogs:

Don't re-invent things.

The concepts of value-types, aggregates, and entities are the same in every project. Don't waste your time writing the code for these types, yourself. Instead, use packages that provide the base-classes.

This NuGet package contains those base-classes:

Install-Package DomainDrivenDesign.DomainObjects

Check out the source code of the project and read the documentation here.

Feel free to use it. Don't abuse it!

Feel free to copy the code and use it for your own application. Please share your experiences when you do.

By cloning or forking this repository, by copying and using this code you are agreeing to the GNU GPL 3.0 license (license.txt) You do not have my permission to sell this (code).

Don't like it? Make it better!

I've written this code for anyone to use, to get inspiration and to learn new concepts. I learned a lot from other people's code, and this is my way of returning the favor. The day I'm not learning new things anymore is the day I quit. That means this code is not perfect. See anything conceptually incorrect? Please let me know. Please refer to the literature where these concepts are described. That way I can learn new things. Feel free to make a pull request, too!

Sponsor me

Buy me a coffee