Apply design patterns to solve problems in software architecture and programming using C# 7.x and .NET Core 2
Key Features
- Enhance your programming skills by implementing efficient design patterns for C# and .NET
- Explore design patterns for functional and reactive programming to build robust and scalable applications
- Discover how to work effectively with microservice and serverless architectures
Book Description
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
Who this book is for
If you have a basic understanding of C# and the .NET Core framework, this book will help you write code that is easy to reuse and maintain with the help of proven design patterns that you can implement in your code.
Table of Contents
- Overview of OOP in .NET Core and C#
- Modern Software Design Patterns and Principles
- Implementing Design Patterns - Basics Part 1
- Implementing Design Patterns - Basics Part 2
- Implementing Design Patterns - .Net Core
- Implementing Design Patterns for web applications- Part 1
- Implementing Design Patterns for web applications- Part 2
- Concurrent programming in NET Core
- Functional Programming Practices
- Reactive Programming Patterns and techniques
- Advanced database design and application techniques
- Coding for the Cloud
- Appendix A: Miscellaneous Best Practices
Gaurav Aroraa has an MPhil in computer science. He is an MVP, a life-time member of the Computer Society of India (CSI), an advisory member of IndiaMentor, certified as a scrum trainer/coach, XEN for Information Technology Infrastructure Library-Foundation (ITIL-F) and APMG for Projects In Controlled Environments-F (PRINCE-F) and Projects In Controlled Environments-P (PRINCE-P). Gaurav is an open source developer, and the founder of Ovatic Systems. Recently, Gaurav was awarded Icon of the year – excellence in Mentoring Technology Startups for 2018-19 by Radio City – A Jagran Initiative for his extraordinary work during his 20-year career in the industry in the field of technology mentoring. You can tweet Gaurav on his Twitter handle, g_arora.
Jeffrey is a software consultant specializing in the Microsoft technical stack including Azure, BizTalk, ASP.Net, MVC, WCF and SQL Server with experience in a wide range of industries including banking, telecommunications and health care in the United States, Europe, Australia and New Zealand.