Intermediate user level
Implement design patterns in .NET Core 3 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. This new edition introduces topics such as Functional Builder, Asynchronous Factory Method, Generic Value Adapter, and new Composite Proxies, including one that attempts to solve the SoA/AoS problem.
Using the C# and F# programming languages, Design Patterns in .NET Core 3 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. MVP and patterns expert Dmitri Nesteruk demonstrates possible implementations of patterns, discusses alternatives and pattern inter-relationships, and illustrates the way that a dedicated refactoring tool (ReSharper) can be used to implement design patterns with ease.
What You Will Learn
Become familiar with the latest pattern implementations available in C# 8 and F# 5
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 implementations of C# and Visual Studio/Rider/ReSharper
Who 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 solving modern problems
Part I: Introduction.- Chapter 1: The SOLID Design Principles Chapter 2: The Functional Perspective Part II: Creational Patterns Chapter 3: Builder Chapter 4: Factories Chapter 5: Prototype Chapter 6: Singleton Part III: Structural Patterns Chapter 7: Adapter Chapter 8: Bridge Chapter 9: Composite Chapter 10: DecoratorChapter 11: Façade Chapter 12: Flyweight Chapter 13: Proxy Part IV: Behavioral Patterns Chapter 14: Chain of Responsibility Chapter 15: Command Chapter 16: Interpreter Chapter 17: Iterator Chapter 18: Mediator Chapter 19: Memento Chapter 20: Null Object Chapter 21: Observer Chapter 22: State Chapter 23: Strategy Chapter 24: Template MethodChapter 25: Visitor