Book Image

Adopting .NET 5

By : Hammad Arif, Habib Qureshi
Book Image

Adopting .NET 5

By: Hammad Arif, Habib Qureshi

Overview of this book

.NET 5 is the unification of all .NET technologies in a single framework that can run on all platforms and provide a consistent experience to developers, regardless of the device, operating system (OS), or cloud platform they choose. By updating to .NET 5, you can build software that can quickly adapt to the rapidly changing demands of modern consumers and stay up to date on the latest technology trends in .NET. This book provides a comprehensive overview of all the technologies that will form the future landscape of .NET using practical examples based on real-world scenarios, along with best practices to help you migrate from legacy platforms. You’ll start by learning about Microsoft’s vision and rationale for the unification of the platforms. Then, you’ll cover all the new language enhancements in C# 9. As you advance, you’ll find out how you can align yourself with modern technology trends, focusing on everything from microservices to orchestrated containerized deployments. Finally, you’ll learn how to effectively integrate machine learning in .NET code. By the end of this .NET book, you’ll have gained a thorough understanding of the .NET 5 platform, together with a readiness to adapt to future .NET release cycles, and you’ll be able to make architectural decisions about porting legacy systems and code bases to a newer platform.
Table of Contents (13 chapters)
1
Section 1: Features and Capabilities
4
Section 2: Design and Architecture
7
Section 3: Migration
10
Section 4: Bonus

Why should we follow design strategies?

Nobody wants their software product or service to be difficult to build, change, maintain, and scale. As in any aspect of a business, if you want to build something, you must have a clear strategy for making a profit and continuing to make a profit by remaining competitive and adding value.

On the software side, we always want products, code, and their environments to be stable, flexible, robust, reusable, and scalable. To enable this, we come up with strategies at different levels that create our enterprise architecture landscape. Within the landscape, we consider each decisive attribute of the company and how the digital software products or services can enable and support them, and also how new features and growth in the future can be enabled with the desired amounts of stability, scalability, and predictability.

Quite often, we do not need to reinvent the wheel as we can identify recurring patterns even in seemingly different problem...