ENGLISH

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

Book information

Publisher
Apress
Year
2021
ISBN
1484261798, 9781484261798
Language
english
Format
PDF
Filesize
4 MB (4244966 bytes)
Edition
2
Pages
389\371
Time added
2021-09-12 14:39:03

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