click below
click below
Normal Size Small Size show me how
Design Patterns
Memorize Software Design Patterns
| Question | Answer |
|---|---|
| Factory | Create individual objects when constructor alone is inadequate. Use methods to return objects. |
| Singleton | Ensure there is only one instance of a class. |
| Abstract Factory | Provide interface for creating families of related objects. |
| Prototype | Create a set of identical objects whose type is determined at runtime. |
| Façade | Provide an interface to a package of classes. Define a singleton which is the sole means for obtaining functionality from the package. |
| Decorator | uses Recursion. Add responsibilities to an object at runtime. |
| Composite | Represent a recursive tree of objects that aggregates and inherits from the base class for the objects. |
| Adapter | Allow an application to use external functionality in a retargetable manner. |
| Flyweight | Manage a large number of objects without constructing them all. |
| Proxy | Avoid the unnecessary execution of expensive functionality in a manner transparent to clients. |
| Interpreter | Interpret expressions written in a formal grammar. |
| Iterator | Provide a way to access the elements of an aggregate object sequentially. |
| Mediator | Avoid references between dependent objects. Capture mutual behavior in a separate class. |
| Observer | Arrange for a set of objects to be affected by a single object. |
| State | Cause an object to behave in a manner determined by its state. |
| Chain of Responsibility | Allow a set of objects to service a request. Link the objects in a chain, each performs their responsibility and passes the request along. |
| Command | Increase flexibility in calling for a service. Capture operations as classes. |
| Template | Allow runtime variants on an algorithm. Basic algorithm in base class. |