Software Patterns
Order by
23 terms
Terms | Definitions |
|---|---|
Abstract Factory ( http://home.earthlink.net/~huston2/dp/abstract_factory.html ) | Provide an interface for creating families of related or dependent objects without specifying their concrete classes. |
Builder ( http://home.earthlink.net/~huston2/dp/builder.html ) | Separate the construction of a complex object from its representation so that the same construction process can create different representations. |
Factory Method ( http://home.earthlink.net/~huston2/dp/factory_method.html ) | Define an interface for creating an object, but let subclasses decide which class to instantiate. It lets a class defer instantiation to subclasses. |
Prototype ( http://home.earthlink.net/~huston2/dp/prototype.html ) | Specify the kinds of objects to create using a one-for-all instance, and create new objects by copying this instance. |
Singleton ( http://home.earthlink.net/~huston2/dp/singleton.html ) | Ensure a class has only one instance, and provide a global point of access to it. |
Adapter ( http://home.earthlink.net/~huston2/dp/adapter.html ) | Convert the interface of a class into another interface clients expect. It lets classes work together that couldn't otherwise because of incompatible interfaces. |
Bridge ( http://home.earthlink.net/~huston2/dp/bridge.html ) | Decouple an abstraction from its implementation so that the two can vary independently. |
Composite ( http://home.earthlink.net/~huston2/dp/composite.html ) | Put together objects into tree structures to represent whole-part hierarchies. It lets clients treat individual objects and groups of objects uniformly. |
Decorator ( http://home.earthlink.net/~huston2/dp/decorator.html ) | Attach additional responsibilities to an object dynamically. They provide a flexible alternative to subclassing for extending functionality. |
Facade ( http://home.earthlink.net/~huston2/dp/facade.html ) | Provide a unified interface to a set of interfaces in a subsystem. It defines a higher-level interface that makes the subsystem easier to use. |
Flyweight ( http://home.earthlink.net/~huston2/dp/flyweight.html ) | Use sharing to support large numbers of fine-grained objects efficiently. |
Proxy ( http://home.earthlink.net/~huston2/dp/proxy.html ) | Provide a surrogate or placeholder for another object to control access to it. |
Chain of Responsibility ( http://home.earthlink.net/~huston2/dp/chain.html ) | Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Bind the receiving objects and pass the request along the chain until an object handles it. |
Command ( http://home.earthlink.net/~huston2/dp/command.html ) | Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. |
Interpreter ( http://home.earthlink.net/~huston2/dp/interpreter.html ) | Given a language, define a representation for its grammar along with an object that uses the representation to understand sentences in the language. |
Iterator ( http://home.earthlink.net/~huston2/dp/iterator.html ) | Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation. |
Mediator ( http://home.earthlink.net/~huston2/dp/mediator.html ) | Define an object that encapsulates how a set of objects interact. It promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently. |
Memento ( http://home.earthlink.net/~huston2/dp/memento.html ) | Without violating encapsulation, capture and externalize an object's internal state so that the object can be returned to this state later. |
Observer ( http://home.earthlink.net/~huston2/dp/observer.html ) | Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically |
State ( http://home.earthlink.net/~huston2/dp/state.html ) | Allow an object to alter its behavior when its internal state changes. The object will appear to change its class |
Strategy ( http://home.earthlink.net/~huston2/dp/strategy.html ) | Define a family of algorithms, encapsulate each one, and make them interchangeable. It lets the algorithm vary independently from the clients that use it. |
Template Method ( http://home.earthlink.net/~huston2/dp/template_method.html ) | Define the skeleton of an algorithm in an operation, deferring some steps to client subclasses. It lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. |
Visitor ( http://home.earthlink.net/~huston2/dp/visitor.html ) | Represent an operation to be performed on the elements of an object structure. It lets you define a new operation without changing the classes of the elements on which it operates. |
First Time Here?
Welcome to Quizlet, a fun, free place to study. Try these flashcards, find others to study, or make your own.