Introduction to CQRS

Target Audience
Expected Duration
Lesson Objectives
Course Number
Expertise Level

Command and Query Responsibility Segregation, or CQRS, was developed by Bertrand Meyer as a way to ensure that methods working with data only perform one of two tasks. Either a method retrieves information or it modifies it somehow, not both. In this course, you will explore domain and model driven design, learn what N-Tier architecture is, and identify the parts of CRUD and their purpose. You will also explore the use of CQRS as a design pattern, including comparing it with other methodologies as well as applying it in a C# solution.

Target Audience
Programmers and developers who want to design plans for writing applications that adhere to the CQRS pattern


Expected Duration (hours)

Lesson Objectives

Introduction to CQRS

  • start the course
  • recognize the basic concepts of domain-driven design
  • recognize the basic concepts of model-driven design
  • identify how domain-driven design and N-layer architecture work together
  • recognize what Task based UIs are
  • identify what commands are and how they are used
  • identify what queries are and how they are used
  • identify what layers are and how they are used
  • describe what services are
  • identify the parts of CRUD and their purpose
  • define what Command Query Responsibility Segregation is
  • describe the Command Query Separation principle
  • identify the various parts of the CQRS pattern
  • recognize how CQRS handles events
  • identify the link between CQRS and event sourcing
  • describe what CQRS commands are and their role
  • define what CQRS command validation is
  • specify the relationship between CQRS commands and domain objects
  • describe how CQRS queries work
  • identify how CQRS deals with constraints
  • identify how CQRS interacts with query data
  • recognize the relationship between CQRS and the Persistent View model
  • identify the most common applications of when the CQRS approach is used and why
  • demonstrate how to implement CQRS commands in C#
  • demonstrate how to handle CQRS events in C#
  • demonstrate how to implement the CQRS pattern in C#
  • understand basic concepts and applications of CQRS
  • Course Number:

    Expertise Level