Backend design like you’ve never seen it before – a guide to building SOLID ASP.NET Core web apps that stand the test of time. Featuring more Minimal APIs, more testing, more building blocks, and the modular monolith!
Purchase of the print or Kindle book includes a free PDF eBook.
Key Features
Apply design patterns hands-on and learn to treat them as simple building blocks
Refactor code toward modern application design like feature-based vertical slice and clean architecture
Discover architectural principles and mix patterns together to understand how to design flexible software
Book Description
This unique ASP.NET Core book will fill in the gaps you’re missing in your REST API and backend designs. Learn how to build robust, maintainable, and flexible apps using Gang of Four (GoF) design patterns and modern architectural principles. This new edition is updated for .NET 8 and focuses exclusively on the backend, with new content on the REPR pattern, black-box testing, and building modular monoliths.
You’ll start by covering foundational concepts like REST, the SOLID principles, Minimal APIs, dependency injection, and other ASP.NET Core 8 mechanisms. Then, you’ll learn to develop components using design patterns, including many from the GoF. Finally, you’ll explore organizing your application code with patterns that vary from layers to feature-oriented vertical slice designs, touching on CQRS and microservices along the way.
This is not a cookbook. You’ll instead understand how business-oriented building blocks work, how to write them, and how to assemble them to make your own APIs instead of getting stuck with recipes that never fit your real-world needs.
What you will learn
Apply the SOLID principles for building flexible and maintainable software
Test your apps effectively with automated tests, including black-box testing
Enter the path of ASP.NET Core dependency injection mastery
Work with GoF design patterns such as strategy, decorator, facade, and composite
Design REST APIs using Minimal APIs and MVC
Discover layering techniques and the tenets of clean architecture
Use feature-oriented techniques as an alternative to layering
Explore microservices, CQRS, REPL, vertical slice architecture, and many more patterns
Who this book is for
This book is for intermediate-level ASP.NET Core developers who want to improve their C# app code structure. ASP.NET developers who want to modernize their knowledge and enhance their technical architecture skills will also like this book. It’s also a good refresher for those in software design roles with more experience looking to update their knowledge.
A good knowledge of C# programming and a basic understanding of web concepts is necessary to get the most out of this book, though some refreshers are included along the way.
Table of Contents
Introduction
Automated Testing
Architectural Principles
REST APIs
Minimal API
Model-View-Controller
Strategy, Abstract Factory, and Singleton Design
Dependency Injection
Application Configuration and the Options Pattern
Logging Patterns
Structural Patterns
Behavioral Patterns
Operation Result Pattern
Layering and Clean Architecture
Object Mappers, Aggregate Services, and Façade
Mediator and CQRS Patterns
Vertical Slice Architecture
Request-EndPoint-Response (REPR)
Introduction to Microservices Architecture
Modular Monolith