| Creational Patterns |
[Coming Soon] Singleton |
Ensures a class has only one instance and provides a global point of access to it. |
|
[Coming Soon] Factory Method |
Defines an interface for creating an object, but lets subclasses alter the type of objects that are created. |
|
[Coming Soon] Abstract Factory |
Provides an interface for creating families of related or dependent objects without specifying their concrete classes. |
|
[Coming Soon] Builder |
Separates the construction of a complex object from its representation so that the same construction process can create different representations. |
|
[Coming Soon] Prototype |
Specifies the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype. |
| Structural Patterns |
[Coming Soon] Adapter |
Converts the interface of a class into another interface clients expect. |
|
[Coming Soon] Composite |
Composes objects into tree structures to represent part-whole hierarchies. |
|
[Coming Soon] Proxy |
Provides a surrogate or placeholder for another object to control access to it. |
|
[Coming Soon] Flyweight |
Uses sharing to support large numbers of fine-grained objects efficiently. |
|
[Coming Soon] Facade |
Provides a unified interface to a set of interfaces in a subsystem. |
|
[Coming Soon] Bridge |
Decouples an abstraction from its implementation so that the two can vary independently. |
|
[Coming Soon] Decorator |
Adds additional responsibilities to an object dynamically. |
| Behavioral Patterns |
[Coming Soon] Observer |
Defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. |
|
[Coming Soon] Strategy |
Defines a family of algorithms, encapsulates each one, and makes them interchangeable. |
|
[Coming Soon] Command |
Encapsulates a request as an object, thereby allowing for parameterization of clients with queues, requests, and operations. |
|
[Coming Soon] Chain of Responsibility |
Passes a request along a chain of handlers, where each handler decides either to process the request or to pass it to the next handler in the chain. |
|
[Coming Soon] Mediator |
Defines an object that encapsulates how a set of objects interact. |
|
[Coming Soon] Memento |
Without violating encapsulation, captures and externalizes an object's internal state so that the object can be restored to this state later. |
|
[Coming Soon] State |
Allows an object to alter its behavior when its internal state changes. |
|
[Coming Soon] Visitor |
Represents an operation to be performed on the elements of an object structure. |
|
[Coming Soon] Template Method |
Defines the skeleton of an algorithm in the superclass but lets subclasses override specific steps of the algorithm without changing its structure. |
|
[Coming Soon] Interpreter |
Given a language, defines a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language. |