Design scalable and high-performance enterprise applications using the latest features of C# 9 and .NET 5 Key Features Gain fundamental and comprehensive software architecture knowledge and the skillset to create fully modular apps Design high-performance software systems using the latest features of .NET 5 and C# 9 Solve scalability problems in web apps using enterprise architecture patterns Book DescriptionSoftware 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 second edition, featuring the latest features of .NET 5 and C# 9, enables you to acquire the key skills, knowledge, and best practices required to become an effective software architect. This second edition features additional explanation of the principles of Software architecture, including new chapters on Azure Service Fabric, Kubernetes, and Blazor. It also includes more discussion on security, microservices, and DevOps, including GitHub deployments for the software development cycle. 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 carefully choose a cloud solution for your infrastructure, along with the factors that will help you manage your app in a cloud-based environment. Finally, you will discover software design patterns and various software approaches that will allow you to solve common problems faced during development. By the end of this book, you will be able to build and deliver highly scalable enterprise-ready apps that meet your organization’s business requirements.What you will learn Use different techniques to overcome real-world architectural challenges and solve design consideration issues Apply architectural approaches such as layered architecture, service-oriented architecture (SOA), and microservices Leverage tools such as containers, Docker, Kubernetes, and Blazor to manage microservices effectively Get up to speed with Azure tools and features for delivering global solutions Program and maintain Azure Functions using C# 9 and its latest features Understand when it is best to use test-driven development (TDD) as an approach for software development Write automated functional test cases Get the best of DevOps principles to enable CI/CD environments Who this book is forThis 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.
Les mer
Table of Contents
  1. Understanding the Importance of Software Architecture
  2. Non-Functional Requirements
  3. Documenting Requirements with Azure DevOps
  4. Deciding the Best Cloud-Based Solution
  5. Applying a Microservice Architecture to Your Enterprise Application
  6. Azure Service Fabric
  7. Azure Kubernetes Service
  8. Interacting with Data in C#
  9. How to Choose Your Data Storage in the Cloud
  10. Working with Azure Functions
  11. Design Patterns and .NET 5 Implementation
  12. Understanding the Different Domains in Software Solutions
  13. Implementing Code Reusability in C# 9
  14. Applying Service-Oriented Architectures with .NET Core
  15. Presenting ASP.NET Core MVC
  16. Blazor WebAssembly
  17. Best Practices in Coding C# 9
  18. Testing Your Code with Unit Test Cases and TDD
  19. Using Tools to Write Better Code
  20. Understanding DevOps Principles
  21. Challenges of Applying CI Scenarios
  22. Automation for Functional Tests
Les mer

Produktdetaljer

ISBN
9781800566040
Publisert
2020-12-28
Utgave
2. utgave
Utgiver
Packt Publishing Limited
Høyde
235 mm
Bredde
191 mm
Aldersnivå
01, P, 06
Språk
Product language
Engelsk
Format
Product format
Heftet
Antall sider
700

Biografisk notat

Gabriel Baptista is a seasoned technology leader with nearly three decades of experience in software development and building high-performing teams. He currently leads an engineering organization that delivers solutions for retail, industrial, and agricultural environments. Throughout his career, he has also contributed to academia, teaching software engineering and information technology across multiple educational institutions. Francesco Abbruzzese dedicates his life to his two great passions: software and powerlifting. He is the author of the Blazor Controls Toolkit library,and contributed to the diffusion and evangelization of the Microsoft web stack since the first .NET version. His company, Mvcct Team, offers web applications, tools, and services for Web technologies. His last product, SimpleProcess is a sophisticated process handling software based on Blazor and .NET microservices. He has moved from AI systems for financial institutions, to top-10 video game titles such as Puma Street Soccer.