HOME > Development > .NET 8 Microservices- DDD, CQRS, VerticalClean Architecture

.NET 8 Microservices- DDD, CQRS, VerticalClean Architecture

  • Development
  • Dec 07, 2024
Synopsis.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture,...
.NET 8 Microservices- DDD, CQRS, VerticalClean Architecture  No.1

.NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture, available at $79.99, has an average rating of 4.58, with 350 lectures, based on 5626 reviews, and has 33868 subscribers.

You will learn about ASPNET Core 8 Web API Development of Microservices ASPNET Minimal APIs and latest features of .Net8 and C# 12 Vertical Slice Architecture implementation with Feature folders CQRS implementation using MediatR library CQRS Validation Pipeline Behaviours with MediatR and FluentValidation Marten library for .NET Transactional Document DB on PostgreSQL Carter Library for Minimal API endpoint definition Using Redis as a Distributed Cache over Basketdb Implements Proxy, Decorator and Cache-aside Design Patterns Build a Highly Performant inter-service gRPC Communication with Basket Microservice Consume Discount Grpc Service for inter-service sync communication to calculate product final price Publish BasketCheckout Queue with using MassTransit and RabbitMQ PostgreSQL database connection and containerization Implementing DDD, CQRS, and Clean Architecture with using Best Practices Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, Agg. Roots Developing CQRS with using MediatR, FluentValidation and Mapster packages Using Entity Framework Core ORM and auto migrate to SqlServer when application startup Entity Framework Core Code-First Approach, Migrations, DDD Entity Configurations in Clean Architecture implementation Async Microservices Communication with RabbitMQ Message-Broker Service Using RabbitMQ Publish/Subscribe Topic Exchange Model Consuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ Configuration Using MassTransit for abstraction over RabbitMQ Message-Broker system API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern Yarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, Destinations Rate Limiting with FixedWindowLimiter on Yarp Reverse Proxy Configuration ASPNET Core Web Application with Bootstrap 4 and Razor template Consume YarpApiGateway APIs using Refit Library with Generated HttpClientFactory Cross-cutting concerns Logging, global Exception Handling and Health Checks Dockerfile and docker-compose file for running Multi-container Docker environment This course is ideal for individuals who are Beginner of AspNet Core developers who interested in APIs and Microservices or C# developers interested in learning how to build Microservices on .Net or Senior Developers who want to engage with Microservices on .Net It is particularly useful for Beginner of AspNet Core developers who interested in APIs and Microservices or C# developers interested in learning how to build Microservices on .Net or Senior Developers who want to engage with Microservices on .Net.

Enroll now: .NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture

Summary

Title: .NET 8 Microservices: DDD, CQRS, Vertical/Clean Architecture

Price: $79.99

Average Rating: 4.58

Number of Lectures: 350

Number of Published Lectures: 350

Number of Curriculum Items: 350

Number of Published Curriculum Objects: 350

Original Price: $89.99

Quality Status: approved

Status: Live

What You Will Learn

  • ASPNET Core 8 Web API Development of Microservices
  • ASPNET Minimal APIs and latest features of .Net8 and C# 12
  • Vertical Slice Architecture implementation with Feature folders
  • CQRS implementation using MediatR library
  • CQRS Validation Pipeline Behaviours with MediatR and FluentValidation
  • Marten library for .NET Transactional Document DB on PostgreSQL
  • Carter Library for Minimal API endpoint definition
  • Using Redis as a Distributed Cache over Basketdb
  • Implements Proxy, Decorator and Cache-aside Design Patterns
  • Build a Highly Performant inter-service gRPC Communication with Basket Microservice
  • Consume Discount Grpc Service for inter-service sync communication to calculate product final price
  • Publish BasketCheckout Queue with using MassTransit and RabbitMQ
  • PostgreSQL database connection and containerization
  • Implementing DDD, CQRS, and Clean Architecture with using Best Practices
  • Tactical Domain-Driven Design: Entities, Value Objects, Aggregates, Agg. Roots
  • Developing CQRS with using MediatR, FluentValidation and Mapster packages
  • Using Entity Framework Core ORM and auto migrate to SqlServer when application startup
  • Entity Framework Core Code-First Approach, Migrations, DDD Entity Configurations in Clean Architecture implementation
  • Async Microservices Communication with RabbitMQ Message-Broker Service
  • Using RabbitMQ Publish/Subscribe Topic Exchange Model
  • Consuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ Configuration
  • Using MassTransit for abstraction over RabbitMQ Message-Broker system
  • API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern
  • Yarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, Destinations
  • Rate Limiting with FixedWindowLimiter on Yarp Reverse Proxy Configuration
  • ASPNET Core Web Application with Bootstrap 4 and Razor template
  • Consume YarpApiGateway APIs using Refit Library with Generated HttpClientFactory
  • Cross-cutting concerns Logging, global Exception Handling and Health Checks
  • Dockerfile and docker-compose file for running Multi-container Docker environment
  • Who Should Attend

  • Beginner of AspNet Core developers who interested in APIs and Microservices
  • C# developers interested in learning how to build Microservices on .Net
  • Senior Developers who want to engage with Microservices on .Net
  • Target Audiences

  • Beginner of AspNet Core developers who interested in APIs and Microservices
  • C# developers interested in learning how to build Microservices on .Net
  • Senior Developers who want to engage with Microservices on .Net
  • This course comes from alive github aspnetrun microservices repository which verified from community with2300+ stars and 1300+ forks.

    You will learn how to build Microservices on .Netplatforms which used Asp.Net Web API, Docker, RabbitMQ, MassTransit, Grpc, Yarp API Gateway, PostgreSQL, Redis, SQLite, SqlServer, Marten, Entity Framework Core, CQRS, MediatR, DDD, Verticaland Clean Architectureimplementation using latest codesand best practicesof .NET 8on cloud-native environments.

    You will develop e-commerce modules over Product, Basket, Discount and Ordering microservices with NoSQL (PostgreSQL DocumentDB, Redis) and Relational databases (SQLite, Sql Server) with communicating over RabbitMQ Event Driven Communication and using Yarp API Gateway. You can find Microservices Architecture and Step by Step Implementation on .NETwhich step by step developing this course with extensive explanations and details.

    Along with this you’ll develop following microservices and items:

    Catalog microservice which includes;

  • ASP.NET Core Minimal APIs and latest features of .NET 8and C# 12

  • Vertical Slice Architecture implementation with Feature folders

  • CQRSimplementation using MediatRlibrary

  • CQRSValidation Pipeline Behaviours with MediatRand FluentValidation

  • Martenlibrary for .NET Transactional Document DB on PostgreSQL

  • Carterlibrary for Minimal API endpoint definition

  • Cross-cutting concerns Logging, global Exception Handlingand Health Checks

  • Dockerfileand docker-compose file for running Multi-container in Docker environment

  • Basket microservice which includes;

  • ASP.NET 8Web API application, Following REST API principles, CRUD operations

  • Redisas a Distributed Cacheover basketdb

  • Implements Proxy, Decoratorand Cache-asideDesign Patterns

  • ConsumeDiscount gRPC Service for inter-service sync communication to calculate product final price

  • PublishBasketCheckout Queue with using MassTransitand RabbitMQ

  • Discount microservice which includes;

  • ASP.NET gRPC Server application

  • Build a Highly Performant inter-service gRPC Communication with Basket Microservice

  • Exposing gRPC Serviceswith creating Protobuf messages

  • Entity Framework Core ORMSQLite Data Provider and Migrations

  • SQLite databaseconnection and containerization

  • Microservices Communication

  • Sync inter-service gRPC Communication

  • Async Microservices Communication with RabbitMQ Message-Broker Service

  • Using RabbitMQ Publish/Subscribe Topic Exchange Model

  • Using MassTransit for abstraction over RabbitMQ Message-Broker system

  • Publishing BasketCheckout eventqueue from Basket microservices and Subscribing this event from Ordering microservices

  • Create RabbitMQ EventBus.Messages library and add references Microservices

  • Ordering Microservice

  • Implementing DDD, CQRS, and Clean Architecture with using Best Practices

  • Developing CQRS with using MediatR, FluentValidation and Mapster packages

  • Use Domain Events& Integration Events

  • Entity Framework Core Code-First Approach, Migrations, DDD Entity Configurations

  • Consuming RabbitMQ BasketCheckout event queue with using MassTransit-RabbitMQ Configuration

  • SqlServer database connection and containerization

  • Using Entity Framework Core ORM and auto migrate to SqlServer when application startup

  • Yarp API Gateway Microservice

  • Implement API Gateways with Yarp Reverse Proxy applying Gateway Routing Pattern

  • Yarp Reverse Proxy Configuration; Route, Cluster, Path, Transform, Destinations

  • Rate Limiting with FixedWindowLimiteron Yarp Reverse Proxy Configuration

  • Sample microservices/containers to reroute through the API Gateways

  • WebUI ShoppingApp Microservice

  • ASP.NET Core Web Applicationwith Bootstrap 4and Razortemplate

  • ConsumeYarpApiGateway APIs using Refit Library with Generated HttpClientFactory

  • ASPNET Core Razor Tools — View Components, partial Views, Tag Helpers, Model Bindings and Validations, Razor Sections etc.

  • Docker Compose establishment with all microservices on docker;

  • Containerizationof microservices

  • Orchestratingof microservices and backing services (databases, distributed caches, message brokers..)

  • Override Environment variables

  • On top of all these, you’ll learn how to write quality code,not just how to build microservices. In this course you will see the demonstrating a layered application architecture with DDDbest practices. Implements NLayer Hexagonal architecture (Core, Application, Infrastructure and Presentation Layers) and Domain Driven Design (Entities, Repositories, Domain/Application Services, DTO’s) and aimed to be a Clean Architecture, with applying SOLID principles in order to use for a project template. Also implements best practices like loosely-coupled, dependency-inverted architecture and using design patterns such as Dependency Injection, logging, validation, exception handling and so on.

    Is this course for you?

    This course is very practical, about 95%+ of the lessons will involve you coding along with me on this project. If you are the type of person who gets the most out of learning by doing, then this course is definitely for you.

    Tools you need for this course

    In this course all the lessons are demonstrated using Visual Studio as a code editor. You can of course use any code editor you like and any Operating system you like as long as it’s Windows or Mac. Also using Docker Desktop in order to use different database providers.

    Course Curriculum

    Chapter 1: Course Introduction

    Lecture 1: Introduction

    Lecture 2: Prerequisites, Source Code and Course Slides

    Lecture 3: Run the Final Application

    Lecture 4: Project Code Structure

    Lecture 5: Microservices Architectures, Patterns, Libraries and Best Practices in Course

    Lecture 6: Microservices Multi-Architectural Patterns (External vs Internal Architectures)

    Lecture 7: How to Follow the Course (The Course Flow and Way of Learning)

    Chapter 2: What are Microservices ?

    Lecture 1: What are Microservices ?

    Lecture 2: What is Microservices Architecture ?

    Lecture 3: Microservices Characteristics

    Lecture 4: Benefits of Microservices Architecture

    Lecture 5: Challenges of Microservices Architecture

    Lecture 6: When to Use Microservices Architecture – Best Practices

    Lecture 7: When Not to Use Microservices – Anti-Patterns of Microservices

    Lecture 8: Monolithic vs Microservices Architecture Comparison

    Lecture 9: The Database-per-Service Pattern – Polyglot Persistence

    Lecture 10: Decomposition of Ecommerce Microservices: Catalog, Basket, Discount and Ordering

    Chapter 3: Why .NET and What is new .NET 8 and C# 12 ?

    Lecture 1: Why .NET ?

    Lecture 2: Cloud-Native Development with .Net 8

    Lecture 3: .NET loves Containers and Microservices

    Lecture 4: What is new .NET 8 ?

    Lecture 5: What is new .C# 12 ? Primary Constructors, Collection Expressions, Inline Arrays

    Lecture 6: C# Top-level statements, Global usings, Pattern Matching

    Chapter 4: Asp.Net 8 for Microservice Development: Minimal APIs, DI, Routing and Docker

    Lecture 1: ASP.NET 8 for Microservice Development

    Lecture 2: Minimal APIs in ASP.NET Core

    Lecture 3: Create ASP.NET Core Web API for Single Microservice

    Lecture 4: Clear Project for Single Microservices: Setting Up a Minimal ASP.NET Web API

    Lecture 5: Todo Service: Create Minimal API with ASP.NET Core for Single Microservice

    Lecture 6: TEST – Todo Service: Create Minimal API w/ ASP.NET Core for Single Microservice

    Lecture 7: Containerize Microservices with Docker Containers, Images, and Registries

    Lecture 8: Containerize Todo Asp.Net Web API Microservice and Run Docker Profile

    Chapter 5: First Microservice: Catalog.API with Vertical Slice Architecture and CQRS

    Lecture 1: Introduction – Catalog.API with Vertical Slice Architecture and CQRS

    Lecture 2: Create New Github Repository For Our Microservice Project

    Lecture 3: Clone Github Repository and Create New Solution with Visual Studio

    Lecture 4: Create Asp.Net Web Api for Catalog.API Microservice

    Lecture 5: Set Port Numbers for Catalog.API Microservice – Modify Launch Settings

    Lecture 6: Domain Analysis of Catalog Microservices: Models, UCs, Rest Apis, Databases

    Lecture 7: Technical Analysis of Catalog Microservices: Architectures, Patterns, Libraries

    Lecture 8: Vertical Slice Architecture

    Lecture 9: Vertical Slice versus Clean Architecture

    Lecture 10: CQRS Design Pattern

    Lecture 11: Logical and Physical Implementation of CQRS Pattern

    Lecture 12: CQRS Design Pattern With MediatR Library (Logical CQRS Implementation)

    Lecture 13: Develop Catalog.API Microservices Creating Domain Entities

    Lecture 14: Develop Vertical Slice Feature Folder with CQRS and MediatR

    Lecture 15: Develop Feature Handler class with CQRS and MediatR

    Lecture 16: Create Abstraction on MediatR for CQRS – Command and Query separation

    Lecture 17: Create Abstraction on MediatR for CQRS – Command and Query separation – 2

    Lecture 18: Implement CQRS Abstractions ICommand into Vertical Slice Feature Handler class

    Lecture 19: Develop Create Product Endpoint with Minimal Apis and Carter

    Lecture 20: Develop POST Endpoint with Carter implements ICarterModule for Minimal Apis

    Lecture 21: Develop POST Endpoint with Carter implements ICarterModule for Minimal Apis – 2

    Lecture 22: Register MediatR and Carter libraries into Asp.Net Dependency Injection Service

    Lecture 23: Test Catalog API – CreateProduct POST Request – Debug Carter Minimal API and Med

    Chapter 6: Develop Catalog.API Infrastructure, Handler and Endpoint Classes for CRUD

    Lecture 1: Introduction – Develop Catalog.API Infrastructure, Handler and Endpoint Classes

    Lecture 2: Infrastructure – Data Concerns for Catalog API – Marten .NET Transactional DB

    Lecture 3: Opening Sessions in Marten as Document DB

    Lecture 4: Develop CommandHandler to Save Product to DB using Marten Library

    Lecture 5: Register and Configure Marten DocumentDB library into Program.cs asp.net DI

    Lecture 6: EShop Microservices Deployment Strategy

    Lecture 7: Setup PostgreSQL DB using Docker-compose file for Multi-container Docker env

    Lecture 8: Add PostgreSQL DB image into Docker-compose file for Multi-container Docker env

    Lecture 9: Run Docker-Compose on Visual Studio to setup PostgreSQL DB on Docker

    Lecture 10: Connect Postgres DB from local Catalog Microservices and send POST request

    Lecture 11: Develop GetProducts Feature in Vertical Slice with CQRS, MediatR in Handler clas

    Lecture 12: Develop GetProducts GET Endpoint with Minimal Apis and Carter

    Lecture 13: Test GetProducts Endpoint Connecting to Docker Postgres Container

    Lecture 14: Create Postman Collection for EShop Microservices

    Lecture 15: Develop GetProductById Handler with CQRS and MediatR

    Lecture 16: Develop GetProductById GET Endpoint with Minimal Apis and Carter

    Lecture 17: Test GetProductById Endpoint Connecting to Docker Postgres Container

    Lecture 18: Develop GetProductByCategory Handler with CQRS and MediatR

    Lecture 19: Develop GetProductByCategory GET Endpoint with Minimal Apis and Carter

    Lecture 20: Test GetProductByCategory Endpoint Connecting to Docker Postgres Container

    Lecture 21: Develop UpdateProduct Handler with CQRS and MediatR

    Lecture 22: Develop UpdateProduct PUT Endpoint with Minimal Apis and Carter

    Lecture 23: Test UpdateProduct Endpoint Connecting to Docker Postgres Container

    Lecture 24: Develop DeleteProduct Handler with CQRS and MediatR

    Lecture 25: Develop DeleteProduct DELETE Endpoint with Minimal Apis and Carter

    Lecture 26: Test DeleteProduct Endpoint Connecting to Docker Postgres Container

    Chapter 7: Develop Catalog.API Cross-cutting Concerns

    Lecture 1: Introduction – Develop Catalog.API Cross-cutting Concerns

    Lecture 2: MediatR Pipeline Behaviours and Fluent Validation Library

    Lecture 3: Add Cross-cutting Concerns into BuildingBlocks Class Library for all services

    Lecture 4: Cross-cutting Concerns: Validate with AbstractValidator using Fluent Validation

    Lecture 5: Validation Pipeline Behaviour with MediatR using Fluent Validation Library

    Lecture 6: Remove Manual Validator and Test Validation Pipeline Behaviour with MediatR

    Lecture 7: Develop CRUD Command Validators with Fluent Validation Pipeline Behaviour

    Lecture 8: Global Handling Exceptions in ASP.NET Core with app.UseExceptionHandler

    Lecture 9: BuildingBlocks Handling Exceptions Generic Way w/ app.UseExceptionHandler

    Lecture 10: Global Exception Handling with IExceptionHandler interface in Asp.net Core

    Lecture 11: Register Custom Exception Handling into Asp.net with AddExceptionHandler method

    Lecture 12: Logging Behavior in MediatR Pipeline for Cross-cutting concerns

    Lecture 13: Test Logging Behaviour for all MediatR Requests on Catalog.API microservices

    Instructors

  • .NET 8 Microservices- DDD, CQRS, VerticalClean Architecture  No.2
    Mehmet Ozkaya
    Software Architect | Microservices | .NET | AWS | Azure
  • Rating Distribution

  • 1 stars: 106 votes
  • 2 stars: 118 votes
  • 3 stars: 532 votes
  • 4 stars: 1889 votes
  • 5 stars: 2994 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!