Hands-On Design Patterns with C# and .NET Core: Write clean and maintainable code by using reusable solutions to common software design problems

Hands-On Design Patterns with C# and .NET Core: Write clean and maintainable code by using reusable solutions to common software design problems
Hands-On Design Patterns with C# and .NET Core: Write clean and maintainable code by using reusable solutions to common software design problems by Gaurav Aroraa
English | 2019 | ISBN: 1789133646 | 410 Pages | EPUB | 24 MB

Apply design patterns to solve problems in software architecture and programming using C# 7.x and .NET Core 2
Design patterns are essentially reusable solutions to common programming problems. When used correctly, they meet crucial software requirements with ease and reduce costs. This book will uncover effective ways to use design patterns and demonstrate their implementation with executable code specific to both C# and .NET Core.
Hands-On Design Patterns with C# and .NET Core begins with an overview of object-oriented programming (OOP) and SOLID principles. It provides an in-depth explanation of the Gang of Four (GoF) design patterns such as creational, structural, and behavioral. The book then takes you through functional, reactive, and concurrent patterns, helping you write better code with streams, threads, and coroutines. Toward the end of the book, you’ll learn about the latest trends in architecture, exploring design patterns for microservices, serverless, and cloud native applications. You’ll even understand the considerations that need to be taken into account when choosing between different architectures such as microservices and MVC.
By the end of the book, you will be able to write efficient and clear code and be comfortable working on scalable and maintainable projects of any size.
What you will learn

  • Make your code more flexible by applying SOLID principles
  • Follow the Test-driven development (TDD) approach in your .NET Core projects
  • Get to grips with efficient database migration, data persistence, and testing techniques
  • Convert a console application to a web application using the right MVP
  • Write asynchronous, multithreaded, and parallel code
  • Implement MVVM and work with RxJS and AngularJS to deal with changes in databases
  • Explore the features of microservices, serverless programming, and cloud computing