Book description
Design scalable and high-performance enterprise applications using the latest features of C# 10 and .NET 6
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.
Table of contents
- Preface
-
Understanding the Importance of Software Architecture
- What is software architecture?
- Software development process models
- Gathering the right information to design high-quality software
- Using design techniques as a helpful tool
- Common cases where the requirements gathering process impacts system results
- Case study – introducing World Wild Travel Club
- Summary
- Questions
- Further reading
-
Non-Functional Requirements
- Technical requirements
- Enabling scalability, availability, and resiliency with Azure and .NET 6
- Performance issues that need to be considered when programming in C#
- Usability – why inserting data takes too much time
- The fantastic world of interoperability with .NET 6
- Achieving security by design
- Book use case – understanding the main types of .NET projects
- Summary
- Questions
- Further reading
- Documenting Requirements with Azure DevOps
- Deciding on the Best Cloud-Based Solution
- Applying a Microservice Architecture to Your Enterprise Application
- Azure Kubernetes Service
- Interacting with Data in C# – Entity Framework Core
- How to Choose Your Data Storage in the Cloud
- Working with Azure Functions
- Design Patterns and .NET 6 Implementation
-
Understanding the Different Domains in Software Solutions
- Technical requirements
- What are software domains?
- Understanding domain-driven design
- Entities and value objects
- Layers and the Onion architecture
- Aggregates
- The repository and Unit of Work patterns
- DDD entities and Entity Framework Core
- Command Query Responsibility Segregation (CQRS) pattern
- Command handlers and domain events
- Event sourcing
- Use case – understanding the domains of the use case
- Summary
- Questions
- Further reading
-
Implementing Code Reusability in C# 10
- Technical requirements
- Understanding the principles of code reusability
- Reusability in the development life cycle
- Using .NET 6 for code reuse
- How does C# deal with code reuse?
- What if the code is not reusable?
- I have my libraries. How do I promote them?
- Use case – reusing code as a fast way to deliver good and safe software
- Summary
- Questions
- Further reading
- Applying Service-Oriented Architectures with .NET
- Implementing Microservices with .NET
- Presenting ASP.NET Core MVC
- Implementing Frontend Microservices with ASP.NET Core
- Blazor WebAssembly
- Native versus Web Clients
-
Artificial Intelligence and Machine Learning
- Technical requirements
- Introduction to AI and machine learning
- Classification of the most common artificial intelligence techniques
- What is machine learning and why does it work?
- From theory to practice: the role of a software architect in an ML project
- ML.NET – Machine learning made for .NET
- Summary
- Questions
- Further reading
- Best Practices in Coding C# 10
-
Understanding DevOps Principles
- Technical requirements
- Describing DevOps
- Understanding DevOps principles
- Understanding SaaS
- The WWTravelClub project approach
- Summary
- Questions
- Further reading
- Challenges of Applying CI & CD Scenarios
- Testing Your Enterprise Application
- Answers
- Other Books You May Enjoy
- Index
Product information
- Title: Software Architecture with C# 10 and .NET 6 - Third Edition
- Author(s):
- Release date: March 2022
- Publisher(s): Packt Publishing
- ISBN: 9781803235257
You might also like
book
C# 10 and .NET 6 – Modern Cross-Platform Development - Sixth Edition
Publisher’s Note: Microsoft will stop supporting .NET 6 from November 2024. The newer 8th edition of …
book
Software Architecture with C# 12 and .NET 8 - Fourth Edition
A book for the aspiring .NET software architect – design scalable and high-performance enterprise solutions using …
book
Software Architecture with C# 9 and .NET 5 - Second Edition
Design scalable and high-performance enterprise applications using the latest features of C# 9 and .NET 5 …
book
Pro C# 10 with .NET 6: Foundational Principles and Practices in Programming
Welcome to the most comprehensive foundational guide available on the topic of C# coding and .NET. …