Software Architecture with C# 10 and .NET 6 - Third Edition: Develop software solutions using microservices, DevOps, EF Core, and design patterns for

Baptista, Gabriel, Abbruzzese, Francesco


Key Features

  • Gain comprehensive software architecture knowledge and the skillset to create fully modular apps
  • Solve scalability problems in web apps using enterprise architecture patterns
  • Master new developments in front-end architecture and the application of AI for software architects

Book Description

Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. This fully revised and expanded third edition, featuring the latest features of .NET 6 and C# 10, enables you to acquire the key skills, knowledge, and best practices required to become an effective software architect.

Software Architecture with C# 10 and .NET 6, Third Edition features new chapters that describe the importance of the software architect, microservices with ASP.NET Core, and analyzing the architectural aspects of the front-end in the applications, including the new approach of .NET MAUI. It also includes a new chapter focused on providing a short introduction to artificial intelligence and machine learning using ML.NET, and updated chapters on Azure Kubernetes Service, EF Core, and Blazor.

You will begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you will explore how to choose a cloud solution for your infrastructure, taking into account the factors that will help you manage a cloud-based app successfully. Finally, you will analyze and implement software design patterns that will allow you to solve common development problems.

By the end of this book, you will be able to build and deliver highly scalable enterprise-ready apps that meet your business requirements.

What you will learn

  • Use proven techniques to overcome real-world architectural challenges
  • Apply architectural approaches such as layered architecture
  • Leverage tools such as containers to manage microservices effectively
  • Get up to speed with Azure features for delivering global solutions
  • Program and maintain Azure Functions using C# 10
  • Understand when it is best to use test-driven development (TDD)
  • Implement microservices with ASP.NET Core in modern architectures
  • Enrich your application with Artificial Intelligence
  • Get the best of DevOps principles to enable CI/CD environments

Who this book is for

This book is for engineers and senior software developers aspiring to become architects or looking to build enterprise applications with the .NET Stack. Basic familiarity with C# and .NET is required to get the most out of this book.


Gabriel Baptista is a software architect who leads technical teams for Microsoft products across numerous projects for retail and industry. He is an Azure Platform-as-a-Service (PaaS) solutions specialist, a computing professor, a co-founder of a start-up for developing mobile applications, and also a speaker on the Channel 9 community. Francesco Abbruzzese has built the tool - MVC Controls Toolkit. He has contributed to the evangelization of the Microsoft web stack since the first version of ASP.NET MVC through tutorials, articles, and tools that can be found on his blog, Dot Net Programming, and in various online magazines. His company, Mvcct Team, implements and offers web applications and AI software associated with the Microsoft stack.


Table of Contents

(N.B. Please use the Look Inside option to see further chapters)

  1. Understanding the Importance of Software Architecture
  2. Non-Functional Requirements
  3. Documenting Requirements with Azure DevOps
  4. Deciding on the Best Cloud-Based Solution
  5. Applying a Microservice Architecture to Your Enterprise Application
  6. Azure Kubernetes Service
  7. Interacting with Data in C# – Entity Framework Core
  8. How to Choose Your Data Storage in the Cloud
  9. Working with Azure Functions
  10. Design Patterns and .NET 6 Implementation
  11. Understanding the Different Domains in Software Solutions
  12. Implementing Code Reusability in C# 10
  13. Applying Service-Oriented Architectures with .NET
  14. Implementing Microservices with .NET
  15. Presenting ASP.NET Core MVC
  16. Implementing Frontend Microservices with ASP.NET Core
  17. Blazor WebAssembly