• Shuffle
    Toggle On
    Toggle Off
  • Alphabetize
    Toggle On
    Toggle Off
  • Front First
    Toggle On
    Toggle Off
  • Both Sides
    Toggle On
    Toggle Off
  • Read
    Toggle On
    Toggle Off
Reading...
Front

Card Range To Study

through

image

Play button

image

Play button

image

Progress

1/23

Click to flip

Use LEFT and RIGHT arrow keys to navigate between flashcards;

Use UP and DOWN arrow keys to flip the card;

H to show hint;

A reads text to speech;

23 Cards in this Set

  • Front
  • Back
Adapter
new interface

wrap a legacy object that provides an incompatible interface with an object that supports the desired interface
Facade
simplified interface

wrap a complicated subsystem with an object that provides a simple interface
proxy
same interface

wrap an object with a surrogate object that provides additional functionality
strategy
standard polymorphism

define algorithm interface in a base class and implementations in derived classes
factory method
polymorphism for creation

define "createInstance" placeholder in the base class, each derived class calls the "new" operator and returns an instance of itself
visitor
double polymorphism

define "accept" method in first inheritance hierarchy, define "visit" methods in second hierarchy ... a.k.a. "double dispatch"
builder
the "reader" delegates to its configured "builder" ... each builder corresponds to a different representation or target
state
finite state machine

the FiniteStateMachine delegates to the "current" state object, and that state object can set the "next" state object
bridge
the wrapper models "abstraction" and the wrappee models many possible "implementations" ... the wrapper can use inheritance to support abstraction specialization
observer
the "model" broadcasts to many possible "views", and each "view" can dialog with the "model"
composite
derived Composites contain one or more base Components, each of which could be a derived Composite
decorator
a Decorator contains a single base Component, which could be a derived ConcreteComponent or another derived Decorator
chain of responsibility
define "linked list" functionality in the base class and implement "domain" functionality in derived classes
interpreter
map a domain to a language, the language to a recursive grammar, and the grammar to the Composite pattern
command
callback

encapsulate an object, the method to be invoked, and the parameters to be passed behind the method signature "execute"
iterator
traversal of a collection

encapsulate the traversal of collection classes behind the interface "first..next..isDone"
mediator
many-to-may relationships

decouple peer objects by encapsulating their "many to many" linkages in an intermediary object
memento
undo

encapsulate the state of an existing object in a new object to implement a "restore" capability
prototype
the new operator

encapsulate use of the "new" operator behind the method signature "clone" ... clients will delegate to a Prototype object when new instances are required
abstract factory
each platform creates products

model "platform" (e.g. windowing system, operating system, database) with an inheritance hierarchy, and model each "product" (e.g. widgets, services, data structures) with its own hierarchy ... platform derived classes create and return instances of product derived classes
template method
define skeleton, defer implementation

define the "outline" of an algorithm in a base class ... common implementation is staged in the base class, peculiar implementation is represented by "place holders" in the base class and then implemented in derived classes
flyweight
when dozens of instances of a class are desired and performance boggs down, externalize object state that is peculiar for each instance, and require the client to pass that state when methods are invoked
singleton
engineer a class to encapsulate a single instance of itself, and "lock out" clients from creating their own instances