Architecting ASP.NET Core Applications – Third Edition 版本: An atypical design patterns guide for .NET 8, C# 12, and beyond
Author: Carl-Hugo Marcotte (Author), Nick Cosentino (Foreword)
Publisher finelybook 出版社: Packt Publishing
Edition 版本: 3rd ed.
Publication Date 出版日期: 2024-03-22
Language 语言: English
Print Length 页数: 806 pages
ISBN-10: 1805123386
ISBN-13: 9781805123385
Book Description
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!
Purchase of the print or Kindle book includes a free PDF eBook.
Key Features
- Learn multiple ways to organize your application code and become a more flexible ASP.NET Core developer
- Explore hands-on design patterns, learn architectural principles, and how to sidestep anti-patterns
- Refactor code toward modern application design, such as feature-based vertical slice and clean architecture
Book Description
This 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 learn
- Apply the SOLID principles for building flexible and maintainable software
- Test your apps effectively with automated tests, including black-box testing
- Embark on mastering ASP.NET Core dependency injection
- Work with GoF design patterns including strategy, decorator, facade, and composite
- Design REST APIs using Minimal APIs and ASP.NET Core MVC
- Discover layering and the tenets of clean architecture
- Use feature-oriented techniques as an alternative to layering
- Explore microservices, CQS, REPR, 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 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.
Table of Contents
- Introduction
- Automated Testing
- Architectural Principles
- REST APIs
- Minimal APIs
- Model-View-Controller
- Strategy, Abstract Factory, and Singleton Design Patterns
- Dependency Injection
- Application Configuration and the Options Pattern
- Logging Patterns
- Structural Patterns
- Behavioral Patterns
- Operation Result Pattern
- Layering and Clean Architecture
- Object Mappers
- Mediator and CQS Patterns
- Getting Started with Vertical Slice Architecture
- Request-EndPoint-Response (REPR)
- Introduction to Microservices Architecture
- Modular Monolith
Review
“𝘙𝘦𝘢𝘥𝘦𝘳𝘴 𝘵𝘩𝘢𝘵 𝘸𝘰𝘳𝘬𝘴 𝘵𝘩𝘳𝘰𝘶𝘨𝘩 𝘵𝘩𝘦 𝘤𝘰𝘯𝘵𝘦𝘯𝘵 𝘰𝘧 𝘵𝘩𝘪𝘴 𝘣𝘰𝘰𝘬 𝘴𝘩𝘰𝘶𝘭𝘥 𝘦𝘹𝘱𝘦𝘤𝘵 𝘵𝘰 𝘣𝘶𝘪𝘭𝘥 𝘤𝘰𝘯𝘧𝘪𝘥𝘦𝘯𝘤𝘦 𝘪𝘯 𝘥𝘦𝘴𝘪𝘨𝘯 𝘢𝘳𝘤𝘩𝘪𝘵𝘦𝘤𝘵𝘶𝘳𝘢𝘭 𝘱𝘢𝘵𝘵𝘦𝘳𝘯𝘴. 𝘛𝘩𝘪𝘴 𝘸𝘪𝘭𝘭 𝘢𝘭𝘭𝘰𝘸 𝘧𝘰𝘳 𝘣𝘶𝘪𝘭𝘥𝘪𝘯𝘨 𝘮𝘰𝘳𝘦 𝘳𝘰𝘣𝘶𝘴𝘵 𝘢𝘯𝘥 𝘴𝘤𝘢𝘭𝘢𝘣𝘭𝘦 𝘴𝘺𝘴𝘵𝘦𝘮𝘴.”
Nick Cosentino, Principal Software Engineering Manager at Microsoft
“It is a guidebook for software architecture because of the section structure. You start with basic principles and methodologies and then tackle Testing, Design patterns,Mappers and CQRS. In the end, comes my two favorite chapters Vertical slice architecture and REPR pattern”
Pavle Davitkovic, Software Developer at Ingsoftware
“It navigates through Minimal APIs, robust testing techniques, a captivating e-commerce venture, and illuminating modular monolith insights, crafted for aspiring developers seeking to create flexible and maintainable software with elegance and skill.”
Dariusz Kalbarczyk, google Developer Expert
About the Author
Carl-Hugo 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.
相关文件下载地址
相关推荐
- Microsoft 365 Copilot At Work: Using AI to Get the Most from Your Business Data and Favorite Apps
- Real-World Edge Computing: Scale, secure, and succeed in the realm of edge computing with Open Horizon
- Salesforce DevOps for Architects: Discover tools and techniques to optimize the delivery of your Salesforce projects
- Segment Routing in MPLS Networks: Transition from traditional MPLS to SR-MPLS with TI-LFA FRR
- Unveiling NIST Cybersecurity Framework 2.0: Secure your organization with the practical applications of CSF
- Mastering DevOps on Microsoft Power Platform: Build, deploy, and secure low-code solutions on Power Platform using Azure DevOps and GitHub