CurlyBytes / Onion-DDD-Tooling-DotNET

Example using dotNET for Onion Architecture with DDD & Tooling (FluentValidation, MassTransit, RabbitMQ, MediatR). Using best practices & common best patterns

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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!

About

Example using dotNET for Onion Architecture with DDD & Tooling (FluentValidation, MassTransit, RabbitMQ, MediatR). Using best practices & common best patterns


Languages

Language:C# 92.1%Language:JavaScript 4.6%Language:HTML 2.1%Language:CSS 1.1%Language:ASP 0.0%