AbstractFactory
Abstract Factory is a creational design pattern that lets you produce families of related objects without specifying their concrete classes.
Abstract Factory is a creational design pattern that lets you produce families of related objects without specifying their concrete classes.
Adapter design pattern allows the interface of an existing class to be used as another interface.
The intent of the Builder design pattern is to separate the construction of a complex object from its representation.
Chain of responsibility pattern allows an object to send a command without knowing what object will receive and handle it.
Decorator allows behavior to be added to an individual object, either statically or dynamically, without affecting the behavior of other objects from the same class.
Facade is is an object that provides a simplified interface to a larger body of code, such as a class library.
A factory is a function or method that returns objects of a varying prototype or class from some method call, which is assumed to be new.
Fluent interface allows you do have method chaining.
Flyweight pattern is used to reduce the memory and resource usage for complex models containing a large number of similar objects.
Inversion of Control is a principle in software engineering by which the control of objects or portions of a program is transferred to a container or framework.
Iterator design pattern allows to traverse a container and access the container's elements.
Lazy initialization is the tactic of delaying the creation of an object, the calculation of a value, or some other expensive process until the first time it is needed.
Instead of returning null , use an object which implements the expected interface, but whose method body is empty.
Observer pattern is a behavioral design pattern that defines a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
It is used when the type of objects to create is determined by a prototypical instance, which is cloned to produce new objects.
Singleton pattern restricts the instantiation of a class to one object.
Strategy pattern allows a client to choose from a family of algorithms at runtime.
Visitor pattern is a way of separating an algorithm from an object structure on which it operates.