ASP#
.NET#
.NET6#
Csharp#
design_patterns#
Blazor#
GoF#
MVC#
GoF#
robust#
clean_architecture#
data#
microservices_patterns#
The professional developer's essential guide to building robust, maintainable, and flexible web apps by leveraging C# 10 and .NET 6 features and component- and application-scale design patterns
An Atypical ASP.NET Core 6 Design Patterns Guide, Second Edition approaches programming like playing with LEGO®: snapping small pieces together to create something beautiful. Thoroughly updated for ASP.NET Core 6, with further coverage of microservices patterns, data contracts, and event-driven architecture, this book gives you the tools to build and glue reliable components together to improve your programmatic masterpieces.
The chapters are organized based on scale and topic, allowing you to start small and build on a strong base, the same way that you would develop a program. You will begin by exploring basic design patterns, SOLID architectural principles, dependency injection, and other ASP.NET Core 6 mechanisms. You will explore component-scale patterns, and then move to higher level application-scale patterns and techniques to better structure your applications. Finally, you'll advance to the client side to connect the dots with tools like Blazor and make ASP.NET Core a viable full-stack web development framework.
You will supplement your learning with practical use cases and best practices, exploring a range of significant Gang of Four (GoF) design patterns along the way. By the end of the book, you will be comfortable combining and implementing patterns in different ways, and crafting software solutions of any scale.
• Apply the SOLID principles for building flexible and maintainable software
• Get to grasp .NET dependency Injection
• Work with GoF design patterns such as strategy, decorator, facade, and composite
• Explore the MVC patterns for designing web APIs and web applications using Razor
• Discover layering techniques and tenets of clean architecture
• Become familiar with CQRS and vertical slice architecture as an alternate to layering
• Understand microservices and when they can benefit your applications
• Build an ASP.NET user interfaces from server-side to client-side Blazor
The book is intended for intermediate software and web developers with an understanding of .NET who want to write flexible, maintainable, and robust code for building scalable web applications. Knowledge of C# programming and an understanding of web concepts like HTTP is necessary.
"If you are C# developer interested in learning how to apply popular GoF design patterns, while avoiding anti-patterns and code smells, this book is for you. My favorite feature is the quantity and quality of the code examples that the author has provided. Every design pattern has at least one working C# example, and in many instances he provides examples that demonstrate how not to code followed by a 'better' way to code."
--
Toi B. Wright, Author of Blazor Web Assembly by Example, 17-time Microsoft MVP in Developer Technologies
Carl-Hugo Marcotte has been developing, designing, and architecting web applications professionally since 2005, wrote his first line of code at about eight years old, and holds a bachelor's degree in computer science.
After working at a firm for a few years, he became an independent consultant, where he developed projects of different sizes for SMEs and educational institutions. He is now a Senior Solutions Architect at Export Development Canada and is passionate about software architecture, C#, ASP.NET Core, and the Cloud.
He loves to share his knowledge, which led him to teaching programming, blogging, and creating, maintaining and contributing to multiple open-source projects.