Experimental Product Domain Based On Hexagonal Architecture Principles
This project is a sample application built using .NET Core. The main goal of this project is implementing and better understanding DDD and hexagonal architecture principles.
Also known as
- Ports and Adapters
- Clean Architecture
- Onion Architecture
Hexagonal architecture
With hexagonal architecture
- Domain layer contains enterprise wide logic and types and does not depend anything except these
- Application layer contains business logic and types
- Infrastructure layer (including persistence, messaging, logging, presentation) contains all external concerns
- Presentation and Infrastructure layers depend only on Application
- Infrastructure dependencies can be replaced with minimal effort. For instance, we can switch data store without touching business code.
Getting Started
Use these instructions to get the project up and running.
Prerequisites
You will need the following tools:
Setup
Follow these steps to get your development environment set up:
- Clone the repository
- At the root directory, restore dependencies
dotnet restore
- Build the solution
dotnet build
- Run tests
dotnet test
Technologies
- .NET Core 3.0
- ASP.NET Core 3.0
License
This project is licensed under the MIT License - see the LICENSE.md file for details.