/Domain-Driven-Design-Sample

ASP.NET Core sample with DDD concepts

Primary LanguageC#

C# Domain-Driven Design Sample

Example of how to build applications with ASP.NET Core and DDD concepts.

How to use:

  • You will need Visual Studio 2019 and the current .NET Core SDK.
  • The current SDK and tools can be downloaded from https://dot.net/core.
  • You will need RabbitMQ message broker.
  • You will need a Elasticsearch database.

Enviroment

Technologies implemented:

  • ASP.NET Core 3.1
  • Entity Framework Core 3.1
  • .NET Core Native DI
  • Entity Framework Core (with SQL Server)
  • RabbitMQ (EasyNetQ)
  • Elasticsearch (Nest)
  • XUnit
  • AutoMapper
  • FluentValidation
  • Swagger

Architecture:

  • Responsibility separation concerns, SOLID, YAGNI and Clean Code
  • Domain Driven Design (Layers and Domain Model Pattern)
  • Domain Notification
  • CQRS (Imediate Consistency)
  • Repository
  • IoC
  • Messaging