Skip to content

Code Repository for Software Architecture with .NET 8 Fourth Edition, Published by Packt

License

Notifications You must be signed in to change notification settings

PacktPublishing/Software-Architecture-with-C-Sharp-12-and-.NET-8-4E

Repository files navigation

Software Architecture with C# 12 and .NET 8, Fourth Edition

This is the code repository for Software Architecture with C# 12 and .NET 8, Fourth Edition, published by Packt.

Build enterprise applications using microservices, DevOps, EF Core, and design patterns for Azure

The authors of this book are -Gabriel Baptista and Francesco Abbruzzese

About the book

Software Architecture with C# 12 and .NET 8 puts high-level design theory to work in a .NET context, teaching you the key skills, technologies, and best practices required to become an effective .NET software architect. This fourth edition puts emphasis on a case study that will bring your skills to life. You’ll learn how to choose between different architectures and technologies at each level of the stack. You’ll take an even closer look at Blazor and explore OpenTelemetry for observability, as well as a more practical dive into preparing .NET microservices for Kubernetes integration. Divided into three parts, this book starts with the fundamentals of software architecture, covering C# best practices, software domains, design patterns, DevOps principles for CI/CD, and more. The second part focuses on the technologies, from choosing data storage in the cloud to implementing frontend microservices and working with Serverless. You’ll learn about the main communication technologies used in microservices, such as REST API, gRPC, Azure Service Bus, and RabbitMQ. The final part takes you through a real-world case study where you’ll create software architecture for a travel agency. By the end of this book, you will be able to transform user requirements into technical needs and deliver highly scalable enterprise software architectures.

Key Takeaways

  • Program and maintain Azure DevOps and explore GitHub Projects
  • Manage software requirements to design functional and non-functional needs
  • Apply architectural approaches such as layered architecture and domain-driven design
  • Make effective choices between cloud-based and data storage solutions
  • Implement resilient frontend microservices, worker microservices, and distributed transactions
  • Understand when to use test-driven development (TDD) and alternative approaches
  • Choose the best option for cloud development, from IaaS to Serverless

Outline and Chapter Summary

This book covers the best practices and approaches for software architects and engineers when developing .NET 8 and C# 12 solutions, along with the most up-to-date cloud environments and tools for effective app development, delivery, and deployment.

  1. Understanding the Importance of Software Architecture
  2. Non-Functional Requirements
  3. Managing Requirements
  4. Best Practices in Coding C# 12
  5. Implementing Code Reusability in C# 12
  6. Design Patterns and .NET 8 Implementation
  7. Understanding the Different Domains in Software Solutions
  8. Understanding DevOps Principles and CI/CD
  9. Testing Your Enterprise Application
  10. Deciding on the Best Cloud-Based Solution
  11. Applying a Microservice Architecture to Your Enterprise Application
  12. Choosing Your Data Storage in the Cloud
  13. Interacting with Data in C# – Entity Framework Core
  14. Implementing Microservices with .NET
  15. Applying Service-Oriented Architectures with .NET
  16. Working with Serverless – Azure Functions
  17. Presenting ASP.NET Core
  18. Implementing Frontend Microservices with ASP.NET Core
  19. Client Frameworks: Blazor
  20. Kubernetes
  21. Case Study
  22. Case Study Extension: Developing .NET Microservices for Kubernetes
  • Answers
  • Appendix: Artificial Intelligence and Machine Learning

If you feel this book is for you, get your copy today! Coding

With the following software and hardware list you can run all code files present in the book (Chapter number mention here).

Software and hardware list

Chapter Software required Link to the software Hardware specifications OS required
All chapters Visual Studio Community 2022 https://visualstudio.microsoft.com/vs/community/ Should work on any recent computer Windows, MacOS, Linux (any), macOS, Windows
All chapters .Net 8 https://dotnet.microsoft.com/en-us/download/dotnet/8.0 Should work on any recent computer Windows, MacOS, Linux (any), macOS, Windows
All chapters Azure Account https://azure.microsoft.com/en-in/ Should work on any recent computer Windows, MacOS, Linux (any), macOS, Windows

Know more on the Discord server Coding

You can get more engaged on the discord server for more latest updates and discussions in the community at Discord

Download a free PDF Coding

If you have already purchased a print or Kindle version of this book, you can get a DRM-free PDF version at no cost. Simply click on the link to claim your free PDF. Free-Ebook Coding

We also provide a PDF file that has color images of the screenshots/diagrams used in this book at GraphicBundle Coding

Get to know the Authors

Gabriel Baptista has been working with software development since the beginning of .NET. Today, his main contributions are managing numerous projects for retail and industry. He is an Azure Platform-as-a-Service (PaaS) solution specialist, teaches at Computing Engineering universities, and helps tech startups as a mentor.

Francesco Abbruzzese dedicates his life to his two great passions: software and powerlifting. He is the author of the MVC Controls Toolkit and the Blazor Controls Toolkit libraries. He has contributed to the diffusion and evangelization of the Microsoft web stack since the first version of ASP.NET. His company, Mvcct Team, offers web applications, tools, and services for web technologies. He has moved from AI systems, where he implemented one of the first decision support systems for financial institutions, to top-10 video game titles such as Puma Street Soccer

Other Related Books

Errata

  • Errata Page: 222, 223

    Errata Description :

    In the example code sections of class "MyTestsClass", the constructor should be "MyTestsClass" instead of "MyDatabaseTests".

  • Errata Page: 226

    Errata Description :

    In the example code sections of class "MyUnitTestClass", the constructor should be "UnitTest1" instead of "MyUnitTestClass".

  • Errata Page: 228

    Errata Description : Typo in the method submitButton.Clikck(); should be submitButton (".Click()")