Skip to content

thomascayne/CommandQuery

 
 

Repository files navigation

CommandQuery

Build status CodeFactor

CommandQuery CommandQuery.Abstractions CommandQuery.AspNet.WebApi CommandQuery.AspNetCore CommandQuery.AWSLambda CommandQuery.AzureFunctions CommandQuery.Client

Introduction

Command Query Separation (CQS) for .NET Framework and .NET Standard

  • Build services that separate the responsibility of commands and queries
  • Focus on implementing the handlers for commands and queries
  • Create APIs with less boilerplate code

Available for:

🌐 ASP.NET Web API 2
🌐 ASP.NET Core
⚡ AWS Lambda
⚡ Azure Functions

Command Query Separation?

Queries: Return a result and do not change the observable state of the system (are free of side effects).

Commands: Change the state of a system but do not return a value.

Martin Fowler

In other words:

  • Commands
    • Writes (Create, Update, Delete) data
  • Queries
    • Reads and returns data

Inspired by:

Packages

README Platform NuGet Sample
CommandQuery .NET Framework and .NET Standard NuGet NuGet CommandQuery.Sample.Contracts, CommandQuery.Sample.Handlers
CommandQuery.AspNet.WebApi ASP.NET Web API 2 NuGet NuGet CommandQuery.Sample.AspNet.WebApi
CommandQuery.AspNetCore ASP.NET Core NuGet NuGet CommandQuery.Sample.AspNetCore
CommandQuery.AWSLambda AWS Lambda NuGet NuGet CommandQuery.Sample.AWSLambda
CommandQuery.AzureFunctions Azure Functions NuGet NuGet Vs1, Vs2, VsCode1, VsCode2
CommandQuery.Client .NET Framework and .NET Standard NuGet NuGet CommandQuery.Sample.Client

About

Command Query Separation for 🌐ASP.NET Web API 2 🌐ASP.NET Core ⚡AWS Lambda ⚡Azure Functions

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C# 99.3%
  • Batchfile 0.7%