Home

Awesome

CommandQuery<!-- omit in toc -->

build CodeFactor

CommandQuery CommandQuery.Abstractions

CommandQuery.AspNetCore CommandQuery.AWSLambda CommandQuery.AzureFunctions CommandQuery.GoogleCloudFunctions

CommandQuery.Client

Content<!-- omit in toc -->

Introduction

Command Query Separation (CQS) for .NET and C#

Available for:

šŸŒ ASP.NET Core
āš” AWS Lambda
āš” Azure Functions
āš” Google Cloud 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.

ā€” <cite>Martin Fowler</cite>

In other words:

The traditional approach that commands do not return a value is a bit inconvenient.

CommandQuery has a pragmatic take and supports both commands with and without result šŸ‘

Packages

CommandQuery āš™ļø

NuGet NuGet

Command Query Separation for .NET

CommandQuery.AspNetCore šŸŒ

NuGet NuGet

Command Query Separation for ASP.NET Core

CommandQuery.AWSLambda āš”

NuGet NuGet

Command Query Separation for AWS Lambda

CommandQuery.AzureFunctions āš”

NuGet NuGet

Command Query Separation for Azure Functions

CommandQuery.GoogleCloudFunctions āš”

NuGet NuGet

Command Query Separation for Google Cloud Functions

CommandQuery.Client šŸ§°

NuGet NuGet

Clients for CommandQuery APIs

Upgrading

ā¬†ļø Upgrading from version 3.0.0 to 4.0.0

Upgrade AspNetCore:

Upgrade AWSLambda:

Upgrade AzureFunctions:

Upgrade GoogleCloudFunctions:

Acknowledgements

Inspired by Steven van Deursen blog posts: