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, a new e-commerce project, and the modular monolith!Key FeaturesLearn multiple ways to organize your application code and become a more flexible ASP.NET Core developerExplore hands-on design patterns, learn architectural principles, and how to sidestep anti-patternsRefactor code toward modern application design, such as feature-based vertical slice and clean architectureBook DescriptionThis unique ASP.NET Core book will fill in the gaps 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 REST APIs, the REPR pattern, and building modular monoliths.You'll start by covering foundational concepts like REST, the SOLID principles, Minimal APIs, dependency injection in .NET, 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, covering CQS and a deep dive into microservices along the way. A brand-new e-commerce project at the end of the book will tie it all together.This how-to guide will teach you how to assemble your own APIs from building blocks, to suit whatever real-world requirements you may have.What you will learnApply the SOLID principles for building flexible and maintainable softwareTest your apps effectively with automated tests, including black-box testingEmbark on mastering ASP.NET Core dependency injectionWork with GoF design patterns including strategy, decorator, facade, and compositeDesign REST APIs using Minimal APIs and ASP.NET Core MVCDiscover layering and the tenets of clean architectureUse feature-oriented techniques as an alternative to layeringExplore microservices, CQS, REPR, vertical slice architecture, and many more patternsWho this book is forThis book is for intermediate-level ASP.NET Core developers who want to improve their C# app code structure and API design skills. 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 expertise.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.About the AuthorCarl- Marcotte is a software craftsman who has developed digital products professionally since 2005, while his coding journey started around 1989 for fun. He has a bachelor's degree in computer science. He has acquired a solid background in software architecture and expertise in ASP.NET Core through creating a wide range of web and cloud applications, from custom e-commerce websites to enterprise applications. He served many customers as an independent consultant, taught programming, and is now a Principal Architect at Export Development Canada. Passionate about C#, ASP.NET Core, AI, automation, and Cloud computing, he fosters collaboration and the open-source ethos, sharing his expertise with the tech community. Table of ContentsIntroductionAutomated TestingArchitectural PrinciplesREST APIsMinimal APIsModel-View-ControllerStrategy, Abstract Factory, and Singleton Design PatternsDependency InjectionApplication Configuration and the Options PatternLogging PatternsStructural PatternsBehavioral PatternsOperation Result PatternLayering and Clean ArchitectureObject MappersMediator and CQS PatternsGetting Started with Vertical Slice ArchitectureRequest-EndPoint-Response (REPR)Introduction to Microservices ArchitectureModular Monolith