Skip to content

codebleeder/HeadfirstDesignPattern

Repository files navigation

Head first design patterns

# 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

About

C# implementation of Head first design pattern

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages