Popularity
2.1
-
Activity
7.3
-
42
7
7

Programming language: C#
Tags: API    

CommandQuery alternatives and similar packages

Based on the "API" category

Do you think we are missing an alternative of CommandQuery or a related project?

Add another 'API' Package

README

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](CommandQuery.md) .NET Framework and .NET Standard NuGet NuGet CommandQuery.Sample.Contracts, CommandQuery.Sample.Handlers
[CommandQuery.AspNet.WebApi](CommandQuery.AspNet.WebApi.md) ASP.NET Web API 2 NuGet NuGet CommandQuery.Sample.AspNet.WebApi
[CommandQuery.AspNetCore](CommandQuery.AspNetCore.md) ASP.NET Core NuGet NuGet CommandQuery.Sample.AspNetCore.V3
[CommandQuery.AWSLambda](CommandQuery.AWSLambda.md) AWS Lambda NuGet NuGet CommandQuery.Sample.AWSLambda
[CommandQuery.AzureFunctions](CommandQuery.AzureFunctions.md) Azure Functions NuGet NuGet CommandQuery.Sample.AzureFunctions.Vs3
[CommandQuery.Client](CommandQuery.Client.md) .NET Framework and .NET Standard NuGet NuGet CommandQuery.Sample.Client