Skip to content
master
Go to file
Code

README.md

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 Core

  • 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

The dogmatic approach to commands, that they do not return a value, can be inconvenient. CommandQuery has a more pragmatic take and supports commands with result.

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.V3
CommandQuery.AWSLambda AWS Lambda NuGet NuGet CommandQuery.Sample.AWSLambda
CommandQuery.AzureFunctions Azure Functions NuGet NuGet CommandQuery.Sample.AzureFunctions.Vs3
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

Topics

Resources

License

Releases

No releases published

Packages

No packages published
You can’t perform that action at this time.