English | MP4 | AVC 1920×1080 | AAC 44KHz 2ch | 71 Lessons (6h 4m) | 1.58 GB
Learn how to structure your codebases using the Vertical Slice Architecture
The vertical slice architectural style is a relatively new way of architecting applications that has been gaining a lot of traction and popularity. In essence, it boils down to organizing your code in vertical slices instead of in the more traditional horizontal or concentric layers. It was envisioned with request-response style applications in mind, making it a great fit for web applications and APIs. In this course, you will learn what it is and how to implement it, from scratch. You’ll learn how to enhance it with the mediator and chain of responsibility patterns, how the CQRS pattern fits in, how to add logging & metrics, how to deal with validation and domain events, how to secure it and more.
Table of Contents
1 Welcome
2 What will you learn in this course
3 Who is the course for and prerequisites
4 Section Introduction
5 Introducing Vertical Slice Architecture
6 A Few Truths About Software Architecture
7 Comparing Vertical Slice Architecture to Other Popular Styles
8 Introducing the Demo Scenario
9 A First Look at the Code, Project and Folder Structure
10 Should You Separate Your Code Across Different Projects
11 Section Summary
12 Section Introduction (2)
13 Deciding on a Feature Folder Structure
14 Implementing the SearchDestinations Slice
15 Design Improvements Outer Model Mapping, Cancellation Support and Abstractions
16 Designing the Domain
17 Adding a Database
18 Implementing the GetItineraries Slice
19 Implementing the GetStops Slice
20 Improving Error Responses with the Problem Details RFC
21 Section Summary (2)
22 Section Introduction (3)
23 Introducing the REPR, Mediator & Chain of Responsibility Patterns
24 Mediator and Chain of Responsibility Pattern Implementations MediatR
25 Adding MediatR to Our Project
26 Using MediatR in Our Slices
27 Design Improvement Auto-registering Endpoints
28 Section Summary (3)
29 Section Introduction (4)
30 Leveraging MediatR Behaviours and Pipelines
31 Using an IRequestPreProcessor for Logging
32 Observability and Metrics
33 Using an IPipelineBehavior for Metrics
34 Handling Exceptions
35 Section Summary (4)
36 Section Introduction (5)
37 Vertical Slice Architecture and CQRS
38 Implementing the CreateStop Slice (a Command Slice)
39 Implementing Model Validation
40 Optimizing Query Slices for Reading Data
41 Looking Into the Different Levels of CQRS
42 Section Summary (5)
43 Section Introduction (6)
44 What Are Domain Events
45 Supporting Domain Events
46 Approaches for Publishing Domain Events
47 Publishing Domain Events
48 Code Duplication Vs Abstraction
49 Reorganizing Code When Needed
50 Section Summary (6)
51 Section Introduction (7)
52 Authentication and Authorization for APIs
53 Requiring and Validating a Token
54 Generating a Token
55 The Case for a CurrentUserService, and Implementing It
56 Authorization Policies
57 Implementing a Feature-specific Authorization Policy
58 Implementing an Action-specific Authorization Policy
59 A Word of Caution on Using Tokens for Fine-grained Authorization
60 Section Summary (7)
61 Section Introduction (8)
62 Testability in Vertical Slice Architecture
63 Test Automation
64 Adding a Unit Test with xUnit
65 Improving Test Isolation with Moq
66 Getting Ready for Integration Testing
67 Writing an Integration Test
68 Pragmatism in Test Automation
69 Improving the Integration Test Infrastructure
70 Scalability in Vertical Slice Architecture
71 Section Summary (8)
Resolve the captcha to access the links!