Skip to content

A practical set of tools and implementations of common design patterns that aim to simplify the creation of well structured and testable .NET codebases

License

Notifications You must be signed in to change notification settings

mStylias/Harmony

Repository files navigation

harmony-logo

What is Harmony?

Harmony is a set of code structuring tools that aim to simplify the creation of well structured, systematic and easily testable .NET code bases. It provides the foundation to implement modern programming paradigms, like railway oriented programming, and common design patterns like mediator and cqrs in a flexible way. Harmony has some opinionated elements, but overall it aims to be as flexible as possible, so it can be used in various different systems and architectures.

NuGet Packages

Harmony includes three packages, all requiring a minimum of .NET 6 and fully supported up to .NET 8.

Harmony Package NuGet
Harmony.Cqrs harmony-cqrs-nuget-version
Harmony.Results harmony-results-nuget-version
Harmony.MinimalApis harmony-minimal-apis-nuget-version

Harmony.Results and Harmony.Cqrs are completely independent of each other, while Harmony.MinimalApis has a dependency on Harmony.Results.

Documentation

A complete documentation is available at the wiki of this repository.

Examples and sample project

A complete Todo minimal API utilizing Harmony is included in the project files as an example. Additionally, numerous usage examples are provided throughout the documentation.

Star ⭐

Does Harmony offer value to you and your project? If so, consider showing your support by giving it a star! ⭐

About

A practical set of tools and implementations of common design patterns that aim to simplify the creation of well structured and testable .NET codebases

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages