# | Design pattern | Definition |
1 | Strategy | The Strategy pattern defines a family of algorithms, encapsulates each one, and makes them interchangeable. Strategy lets the algorithm vary independently from clients that use it. |
2 | Observer | The Observer Pattern defines a one-to-many dependency between objects so that when one object changes state, all of it's dependents are notified and updated automatically |
3 | Decorator | The Decorator Pattern attaches additional responsibilities to an object dynamically. Decorators provide a flexible alternative to subclassing for extending functionality. |
4 | Factory Method | The Factory Method Pattern defines an interface for creating an object, but lets subclasses decide which class to instantiate. Factory Method lets a class defer instantiation to subclasses. |
5 | Singleton | The Singleton Pattern ensures a class has only one instance, and provides a global point of access to it. |
6 | Command | The Command Pattern encapsulates a request as an object, thereby letting you parameterize other objects with different requests, queue or log requests, and support undoable operations |
7.1 | Adapter | The Adapter Pattern converts the interface of a class into another interface the clients expect. Adapter lets classes work together that couldn't otherwise because of incompatible interfaces. |
7.2 | Facade | The Facade Pattern provides a unified interface to a set of interfaces in a subsystem. Facade defines a higher level interface that makes the subsystem easier to use. |
8 | Template Method | The Template Method Pattern defines the skeleton of an algorithm in a method, deferring some steps to subclasses. Template Method lets subclasses redifine certain steps of an algorithm without changing the algorithm's structure. |
9.1 | Iterator | The Iterator Pattern provides a way to access the elements of an aggregate object sequentially without exposing its underlying representation. |
9.2 | Composite | The Composite Pattern allows you to compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of objects uniformly. |
10 | State | The State Pattern allows an object to alter its behavior when its internal state changes. The object will appear to change its class. |
11 | Proxy | The Proxy Pattern provides a surrogate or placeholder for another object to control access to it. (Not implemented in this project) |
12 | Compound | A pattern of patterns working together |
codebleeder/HeadfirstDesignPattern
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
C# implementation of Head first design pattern
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published