Example using dotNET for Onion Architecture with DDD & Tooling (FluentValidation, MassTransit, RabbitMQ, MediatR). Using best practices & common best patterns
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
.gitignore Initial commit Jul 8, 2016
README.md Add MassTransit into infrastructure.messaging for test capabilities Jan 3, 2017

README.md

DDD - Onion Architecture Example with C#

Onion architecture is one of the best options to establish clean architecture through Domain-Driven-Design.
This project intend to apply all best practices with Clean Code & Clean Architecture.
This example project is always in progress :)

I´m testing some tools in project:

MediatR for Command Query Responsability Segregation
https://lostechies.com/jimmybogard/2015/05/05/cqrs-with-mediatr-and-automapper/
https://lostechies.com/jimmybogard/2016/10/27/cqrsmediatr-implementation-patterns/
https://github.com/jbogard/MediatR/wiki

FluentValidation for separate entities validation - SoC
https://github.com/JeremySkinner/FluentValidation

MassTransit for Domain Events

http://looselycoupledlabs.com/2014/06/masstransit-publish-subscribe-example/
http://looselycoupledlabs.com/2014/07/a-real-world-masstransit-customer-portal-example/

I followed the separate concept of Raise & Publish (dispatching only when persisted entity and raise when occurred in memory).
https://lostechies.com/jimmybogard/2014/05/13/a-better-domain-events-pattern/



If you think that some part of the code not follow some best practice feel free for fork and contribute!
Thanks!