Other Sellers on Amazon
Follow the Author
An Atypical ASP.NET Core 6 Design Patterns Guide: A SOLID adventure into architectural principles and design patterns using .NET 6 and C# 10, 2nd Edition 2nd ed. Edition
Enhance your purchase
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
- Apply the SOLID architectural principles and software design patterns effectively with a focus on dependency injection
- Discover modern application architectures such as vertical slice, clean architecture, and event-driven microservices
- Explore full-stack ASP.NET Core with an overview of Blazor
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.
What you will learn
- 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
Who this book is for
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.
Table of Contents
- Automated Testing
- Architectural Principles
- The MVC Pattern using Razor
- The MVC Pattern for Web APIs
- Understanding the Strategy, Abstract Factory, and Singleton Design Patterns
- Deep Dive into Dependency Injection
- Options and Logging Patterns
- Structural Patterns
- Behavioral Patterns
- Understanding the Operation Result Design Pattern
- Understanding Layering
- Getting Started with Object Mappers
- Mediator and CQRS Design Patterns
- Getting Started with Vertical Slice Architecture
- Introduction to Microservices Architecture
- ASP.NET Core User Interfaces
- A Brief Look into Blazor
- Appendix A
- Appendix B
"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
About the Author
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.
- Publisher : Packt Publishing; 2nd ed. edition (March 28, 2022)
- Language : English
- Paperback : 678 pages
- ISBN-10 : 1803249846
- ISBN-13 : 978-1803249841
- Item Weight : 2.53 pounds
- Dimensions : 7.5 x 1.53 x 9.25 inches
- Best Sellers Rank: #671,461 in Books (See Top 100 in Books)
- Customer Reviews:
About the author
Top reviews from the United States
There was a problem filtering reviews right now. Please try again later.
Each example has test demonstration and is evaluated against competing solutions. Can't recommend it enough.
One of the things I like in the book is how he breaks down concepts when needed, but also isn't pedantic, so a seasoned reader can brush up on topics and not feel like the information is too basic. That being said, it's definitely a book intended for the Beginner to Intermediate levels of Developer to help them start expanding their knowledge into a larger scope of engineering and architectural reasoning. This book will aid in helping early professionals to bridge the gap between the "developer" and the Software Engineer/Architect.
My favorite overall experience about the content is that the author takes the time to explain relevant side-topics, but doesn't overburden the reader with every detail, rather, points them to necessary resources to allow them to expand on their knowledge. Sometimes just making sure the reader knows that something exists, rather than passing over it because it's not the focus of the book, can leave blanks in the learning process. I've always agreed with the concept, "you don't know what you don't know", and this book is good about at least bringing light to nuances that seasoned developers implicitly understand or recognize.
Its going to show you the next steps that you are going to need to understand to create secure business grade applications in ASP.NET or C#
Knowing syntax isn’t that big of a deal in our current day and age with things like google, but understanding patterns and methodologies is more important and it crosses over to newer languages. I’m not saying you won’t learn syntax, but you are going to learn a lot more with this book. Things like unit testing, code quality and architecture. This is that 2nd step into programming, and I would recommend it to everyone wanting a deeper understanding past that surface level course online.
As you learn more and more patterns, the lines blur when you should use approach A or approach B. A lot of it comes down to experience and preference.
This book does a really good job of laying out how design patterns can be applied to actual ASP.NET Core applications. If you're a new developer, it's a goldmine of information. If you're an established developer, there is likely some nuggets of knowledge to pick up here!
Covers design patterns, automated testing, architecture principles, MVC patterns, dependency injection, logging, structural/behavioral/operation result patterns, layering, object mappers, microservices architecture, UI, and a brief look at Blazor and Razor pages.
If you need visual examples, have no fear. This book contains a plethora of real examples for nearly every thing that is talked about. The theory behind the code and the code itself is explained in GREAT detail.
At the end of the book are a couple of appendices that cover the range of features implemented in C# up through C#10 (the most recent edition as of April 2022).
I would recommend this book to any .NET developer!