Design Patterns in .NET 6: Reusable Approaches in C# and F# for Object-Oriented Software Design

  • 5h 20m
  • Dmitri Nesteruk
  • Apress
  • 2022

Implement design patterns in .NET 6 using the latest versions of the C# and F# languages. This book provides a comprehensive overview of the field of design patterns as they are used in today’s developer toolbox. In addition to the functional builder, asynchronous factory method, generic value adapter, and composite proxies, this new edition introduces topics such as Decorator Cycle Policies Functional Commands, a Transformer variation of the Visitor pattern, and factories that can perform Object Tracking and Bulk Replacement.

Using the C# and F# programming languages, Design Patterns in .NET 6 explores the classic design pattern implementations and discusses the applicability and relevance of specific language features for implementing patterns. You will learn by example, reviewing scenarios where patterns are applicable. Former C# MVP and patterns expert Dmitri Nesteruk demonstrates possible implementations of patterns, discusses alternatives and pattern relationships, and illustrates the way that a dedicated refactoring tool (JetBrains Rider) can be used to implement design patterns with ease.

What You Will Learn

  • Become familiar with the latest pattern implementations available in C# 10 and F# 6
  • Know how to better reason about software architecture
  • Understand the process of refactoring code to patterns
  • Refer to researched and proven variations of patterns
  • Study complete, self-contained examples, including many that cover advanced scenarios
  • Use the latest versions of C# and Visual Studio/Rider/ReSharper

This book is for developers who have some experience in the C# language and want to expand their comprehension of the art of programming by leveraging design approaches to solve modern problems.

About the Author

Dmitri Nesteruk is a quantitative analyst, developer, course instructor, book author, and occasional conference speaker. His interests lie in software development and integration practices in the areas of computation, quantitative finance, and algorithmic trading. His technological interests include C# and C++ programming as well as high-performance computing using technologies such as CUDA and FPGAs.

In this Book

  • Introduction
  • The SOLID Design Principles
  • The Functional Perspective
  • Builder
  • Factories
  • Prototype
  • Singleton
  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Façade
  • Flyweight
  • Proxy
  • Value Object
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Null Object
  • Observer
  • State
  • Strategy
  • Template Method
  • Visitor