Busy. Please wait.

show password
Forgot Password?

Don't have an account?  Sign up 

Username is available taken
show password


Make sure to remember your password. If you forget it there is no way for StudyStack to send you a reset link. You would need to create a new account.
We do not share your email address with others. It is only used to allow you to reset your password. For details read our Privacy Policy and Terms of Service.

Already a StudyStack user? Log In

Reset Password
Enter the associated with your account, and we'll email you a link to reset your password.

Remove ads
Don't know
remaining cards
To flip the current card, click it or press the Spacebar key.  To move the current card to one of the three colored boxes, click on the box.  You may also press the UP ARROW key to move the card to the "Know" box, the DOWN ARROW key to move the card to the "Don't know" box, or the RIGHT ARROW key to move the card to the Remaining box.  You may also click on the card displayed in any of the three boxes to bring that card back to the center.

Pass complete!

"Know" box contains:
Time elapsed:
restart all cards

Embed Code - If you would like this activity on your web page, copy the script below and paste it into your web page.

  Normal Size     Small Size show me how

Design Patterns

Memorize Software Design Patterns

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.
Created by: arlanh