Book Image

Hands-On Software Architecture with C# 8 and .NET Core 3

By : Francesco Abbruzzese, Gabriel Baptista
Book Image

Hands-On Software Architecture with C# 8 and .NET Core 3

By: Francesco Abbruzzese, Gabriel Baptista

Overview of this book

<p>Software architecture is the practice of implementing structures and systems that streamline the software development process and improve the quality of an app. With this software architecture book, you’ll follow a hands-on approach to learning various architectural methods that will help you develop and deliver high-quality products. </p><p>You’ll begin by understanding how to transform user requirements into architectural needs and exploring the differences between functional and non-functional requirements. Next, you’ll explore how to carefully choose a cloud solution for your infrastructure, along with covering dos and don’ts that will help you manage your app in a cloud-based environment. Later chapters will cover techniques and processes such as DevOps, microservices, and continuous integration, along with providing insights into implementing them using Microsoft technologies such as ASP.NET Core, the Entity Framework, Cosmos DB, and Azure DevOps. You will also learn about testing frameworks and automation tools that will help you through the development process. Finally, you’ll discover design patterns and various software approaches that will allow you to solve common problems faced during development. </p><p>By the end of this book, you’ll be able to develop and deliver highly scalable enterprise-ready apps that meet customers’ business needs.</p>
Table of Contents (28 chapters)
Free Chapter
1
Section 1: Transforming Customer Needs in Real-World Applications
5
Section 2: Architecting Software Solutions in a Cloud-Based Environment
11
Section 3: Applying Design Principles for Software Delivered in the 21st Century
17
Section 4: Programming Solutions for an Unavoidable Future Evolution
21
Section 5: Delivering Software Continuously and at a High Quality Level

How does .NET Core deal with SOA?

.Net Core has excellent support for REST services through ASP.NET Core. In terms of SOAP services, classic .NET handles them with WCF technology. In WCF, service specifications are defined through .NET interfaces and the actual service code is supplied in classes that implement those interfaces.

Endpoints, underlying protocols (HTTP and TCP/IP), and any other features are defined in a configuration file. In turn, the configuration file can be edited with an easy to use configuration tool. Therefore, the developer is responsible for providing just the service behavior as a standard .NET class and for configuring all the service features in a declarative way. This way, the service configuration is completely decoupled from the actual service behavior and each service can be reconfigured so that it can be adapted to a different environment without...