Design Patterns in .NET Core 3: Reusable Approaches in C# and F# for Object-Oriented Software Design
Book information
Description
Intermediate user level Table of Contents About the Author About the Technical Reviewer Introduction Part I: Introduction Chapter 1: The SOLID Design Principles Single Responsibility Principle Open-Closed Principle Liskov Substitution Principle Interface Segregation Principle Parameter Object Dependency Inversion Principle Chapter 2: The Functional Perspective Function Basics Functional Literals in C# Storing Functions in C# Functional Literals in F# Composition Functional-Related Language Features Part II: Creational Patterns Chapter 3: Builder Scenario Simple Builder Fluent Builder Communicating Intent Composite Builder Builder Parameter Builder Extension with Recursive Generics Lazy Functional Builder DSL Construction in F# Summary Chapter 4: Factories Scenario Factory Method Asynchronous Factory Method Factory Inner Factory Physical Separation Abstract Factory Delegate Factories in IoC Functional Factory Summary Chapter 5: Prototype Deep vs. Shallow Copying ICloneable Is Bad Deep Copying with a Special Interface Deep-Copying Objects Duplication via Copy Construction Serialization Prototype Factory Summary Chapter 6: Singleton Singleton by Convention Classic Implementation Lazy Loading and Thread Safety The Trouble with Singleton Singletons and Inversion of Control Monostate Multiton Summary Part III: Structural Patterns Chapter 7: Adapter Scenario Adapter Adapter Temporaries The Problem with Hashing Property Adapter (Surrogate) Generic Value Adapter Adapter in Dependency Injection Adapters in the .NET Framework Summary Chapter 8: Bridge Conventional Bridge Dynamic Prototyping Bridge Summary Chapter 9: Composite Grouping Graphic Objects Neural Networks Shrink Wrapping the Composite Composite Specification Summary Chapter 10: Decorator Custom String Builder Adapter-Decorator Multiple Inheritance with Interfaces Multiple Inheritance with Default Interface Members Dynamic Decorator Composition Static Decorator Composition Functional Decorator Summary Chapter 11: Façade Magic Squares Building a Trading Terminal An Advanced Terminal Where’s the Façade? Summary Chapter 12: Flyweight User Names Text Formatting Summary Chapter 13: Proxy Protection Proxy Property Proxy Value Proxy Composite Proxy: SoA/AoS Composite Proxy with Array-Backed Properties Virtual Proxy Communication Proxy Dynamic Proxy for Logging Summary Part IV: Behavioral Patterns Chapter 14: Chain of Responsibility Scenario Method Chain Broker Chain Summary Chapter 15: Command Scenario Implementing the Command Pattern Undo Operations Composite Commands (a.k.a. Macros) Functional Command Queries and Command-Query Separation Summary Chapter 16: Interpreter Numeric Expression Evaluator Lexing Parsing Using Lexer and Parser Interpretation in the Functional Paradigm Summary Chapter 17: Iterator Array-Backed Properties Let’s Make an Iterator Improved Iteration Iterator Adapter Summary Chapter 18: Mediator Chat Room Mediator with Events Introduction to MediatR Summary Chapter 19: Memento Bank Account Undo and Redo Using Memento for Interop Summary Chapter 20: Null Object Scenario Intrusive Approaches Null Object Virtual Proxy Null Object Dynamic Null Object Summary Chapter 21: Observer Observer Weak Event Pattern Event Streams Property Observers Basic Change Notification Bidirectional Bindings Property Dependencies Views Observable Collections Observable LINQ Declarative Subscriptions in Autofac Summary Chapter 22: State State-Driven State Transitions Handmade State Machine Switch-Based State Machine Encoding Transitions with Switch Expressions State Machines with Stateless Types, Actions, and Ignoring Transitions Reentrancy Again Hierarchical States More Features Summary Chapter 23: Strategy Dynamic Strategy Static Strategy Equality and Comparison Strategies Functional Strategy Summary Chapter 24: Template Method Game Simulation Functional Template Method Summary Chapter 25: Visitor Intrusive Visitor Reflective Printer Extension Methods? Functional Reflective Visitor Improvements What Is Dispatch? Dynamic Visitor Classic Visitor Implementing an Additional Visitor Acyclic Visitor Functional Visitor Summary Index
Similar books
Design Patterns in Modern C++: Reusable Approaches for Object-Oriented Software Design
2018 · PDF
Design Patterns in .NET 6: Reusable Approaches in C# and F# for Object-Oriented Software Design
2022 · PDF
Design Patterns in .NET 6: Reusable Approaches in C# and F# for Object-Oriented Software Design
2022 · PDF
Design Patterns in .NET 6: Reusable Approaches in C# and F# for Object-Oriented Software Design
2022 · EPUB
Design Patterns in Modern C++20 : Reusable Approaches for Object-Oriented Software Design
EPUB
Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design
2021 · PDF
Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design
2021 · EPUB
Design Patterns in Modern C++20: Reusable Approaches for Object-Oriented Software Design
2021 · PDF