使用 C# 解釋23種的 Design Pattern

Creational PatternsCreational Patterns
Abstract FactoryCreates an instance of several families of classes
BuilderSeparates object construction from its representation
Factory MethodCreates an instance of several derived classes
PrototypeA fully initialized instance to be copied or cloned
SingletonA class of which only a single instance can exist
Structural PatternsStructural Patterns
AdapterMatch interfaces of different classes
BridgeSeparates an object’s interface from its implementation
CompositeA tree structure of simple and composite objects
DecoratorAdd responsibilities to objects dynamically
FacadeA single class that represents an entire subsystem
FlyweightA fine-grained instance used for efficient sharing
ProxyAn object representing another object
Behavioral PatternsBehavioral Patterns
Chain of Resp.A way of passing a request between a chain of objects
CommandEncapsulate a command request as an object
InterpreterA way to include language elements in a program
IteratorSequentially access the elements of a collection
MediatorDefines simplified communication between classes
MementoCapture and restore an object’s internal state
ObserverA way of notifying change to a number of classes
StateAlter an object’s behavior when its state changes
StrategyEncapsulates an algorithm inside a class
Template MethodDefer the exact steps of an algorithm to a subclass
VisitorDefines a new operation to a class without change