Clean Architecture is one of the most popular software architecture and solution organization approaches out there, and that's for a good reason. It provides a clear path to a robust solution structure with clear guidelines and rules that help you immediately fall into the pit of success. It can, however, be confusing and complicated at first, especially if you don't have an experienced developer explaining the concept and principles to you. In this course, Amichai Mantinband, a Software Engineer at Microsoft, will help you dive deeper into Clean Architecture and teach you all the advanced principles and rules you need to know in easy-to-digest clips and understandable examples. Continue your Clean Architecture journey today on Dometrain!
Welcome
What will you learn in this course?
Who is the course for and prerequisites
Domain Overview
Project Structure Overview
1000 ft. Project Walkthrough
Section Recap
Validation Types
Model Validation
Model Validation using Fluent Validation
Implementing a Fluent Validation Command Validator
MediatR Pipeline Behaviors
Implementing a MediatR Pipeline Behavior
Application Layer Cross-Cutting Concerns via Open Generic Pipeline Behaviors
Implementing Application Layer Cross-Cutting Concerns via Open Generic Pipeline Behaviors
Domain Layer Validations
Validating Business Rules in the Domain Layer
Section Recap
What are Domain Events?
The Domain Events Pattern
Implementing a Domain Event
Domain Events vs. Orchestration
Implementing Domain Event Handlers
Section Recap
Eventual Consistency vs. Transactional Consistency
Eventual Consistency Most Common Implementation and Why it is Wrong
A better approach for handling Eventual Consistency
Implementing Extracting Domain Events For Offline Processing
Implementing Eventual Consistency via an Eventual Consistency Middleware
Section Recap
Testing in Clean Architecture
Domain Layer Unit Testing
Implementing Domain Layer Unit Tests
Application Layer Unit Testing
Implementing Application Layer Unit Tests Part 1
Implementing Application Layer Unit Tests Part 2
Implementing Application Layer Unit Tests Part 3
Subcutaneous Testing
Implementing Subcutaneous Testing Part 1
Implementing Subcutaneous Testing Part 2
Implementing Subcutaneous Testing Part 3
Integration Testing
Implementing Integration Testing
Section Recap
Authentication and Authorization in Clean Architecture
Register, Login, and Create Profile Endpoints Overview
Accessing the Requesting User's Details From the Domain and Application Layers Part 1
Accessing the Requesting User's Details From the Domain and Application Layers Part 2
The 3 Types of Permission-Based Authorization
Implementing Permission-Based Authorization
Implementing Role-Based Authorization
Section Recap
Conclusion
Course Info
Lifetime access
Add to Cart
Amichai Mantinband is a Software Engineer at Microsoft and a .NET content creator.
He works on large-scale, distributed systems within Microsoft Office, serving over 100 million daily users. He is a speaker at official .NET conferences, and within Microsoft, he authors and teaches software architecture courses.
Amichai is the author of NuGet packages ErrorOr & Throw and has a .NET programming YouTube channel covering advanced topics such as design patterns, architecture, and best practices.
© 2023 Dometrain. All rights reserved.