• 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/21

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;

21 Cards in this Set

  • Front
  • Back
  • 3rd side (hint)
Mediator Design Pattern
-Behavioral
-reduces coupling
-classes communicate through Mediator
-Behavioral
-reduces coupling
-classes communicate through Mediator
Mediator - Interface between Colleagues
Concrete Mediator - implements Mediator interface
Concrete Colleague - Communicates with other colleagues
Prototype Design Pattern
-Creational
-avoids subclasses
-avoid cost of creating 'new' objects
-Creational
-avoids subclasses
-avoid cost of creating 'new' objects
Prototype - interface that defines objects, is cloneable
ConcretePrototype - implements Protoype with specifics
Abstract Factory Pattern
-creational
-separates client from object creation
-client only deals with abstract object
-creational
-separates client from object creation
-client only deals with abstract object
Abstract Factory - interface client interacts with
Concrete Factory - method that creates new object
Abstract product - product interface
Product - object created by concrete factory
Builder Design Pattern
-creational
-Constructs complex object piece by piece
-often builds composite
-creational
-Constructs complex object piece by piece
-often builds composite
Director - class with collection of builders, oversees creation
Builder - Interface for new objects
ConcreteBuilder - creates new objects
Composite Design Pattern
-structural
-group of objects to be treated as a single instance
-structural
-group of objects to be treated as a single instance
Composite - Collection of components
Component - abstract for all components of the figure
Leaf - concrete component
Decorator Design Pattern
-structural
-adds behavior dynamically
-structural
-adds behavior dynamically
Decorator - interface, wraps components
Component - abstract of object
Concrete Component - object
Concrete Decorator - implements Decorator
Adapter Design Pattern
-structural
-Translates from one interface to a compatible interface
-Used as a wrapper to allow classes to use incompatible interfaces
-structural
-Translates from one interface to a compatible interface
-Used as a wrapper to allow classes to use incompatible interfaces
Adaptor - Interface that translates to the other interface
Adaptee - The incompatible interface
Client - Class that needs the translation
Bridge Design Pattern
-structural
-Allows different interface implementations to be used dynamically
-Abstracts the abstraction
-structural
-Allows different interface implementations to be used dynamically
-Abstracts the abstraction
Abstraction - defines the abstract interface & keeps reference to Implementor
Refined Abstraction - Extends interface defined by Abstraction
Implementor - defines the implementation to be used
ConcreteImplementor - Implements the Implementor
Template Design Pattern
-behavioral
-defines an algorithm in a skeleton class
-can change algorithm without affecting calling classes
-behavioral
-defines an algorithm in a skeleton class
-can change algorithm without affecting calling classes
AbstractClass - Defines algorithm
ConcreteClass - Implements algorithm
Observer Design Pattern
-behavioral
-event handling
-when a change occurs on subject, notifies all observers
-behavioral
-event handling
-when a change occurs on subject, notifies all observers
Subject - Has list of Observers. Notifies them of changes
Observer - interface for Concrete Observer
Concrete Observer - notified of change, perform action
Proxy Design Pattern
-structural
-acts as relay
-Any action taken on proxy is relayed to original object
-structural
-acts as relay
-Any action taken on proxy is relayed to original object
Subject - interface for RealSubject
RealSubject - actual object to interact with
Proxy - takes request/input, forwards to RealSubject
Command Design Pattern
-behavioral
-encapsulates a request as an object
-behavioral
-encapsulates a request as an object
Invoker - calls for a command
Receiver - Actual work done
Client - creates ConcreteCommand and sets Receiver
Command - interface for ConcreteCommand
ConcreteCommand - executes the command issued from the receiver
Strategy Design Pattern
-behavioral
-defines a group of algorithms
-allows to interchange dynamically
-behavioral
-defines a group of algorithms
-allows to interchange dynamically
Context - contains collection of Strategies to call dynamically
Strategy - algorithm interface
ConcreteStrategy - implementation of the Strategy
Facade Design Pattern
-structural
-provides simple interface for a library or API
Facade - Interface to various packages
Package - library or function
Differences between:
Adapter, Bridge, Decorator,Facade
Adapter-converts one interface to another
Decorator-dynamically adds responsibility to interface by wrapping
Facade-provides a simplified interface
Bridge-dynamically change interface implementations
Object Constraint Language
- Constraints in have no side effects
- No flow control
- All statements return boolean
- evaluated in specific context (method or class)
4 Types of Transformations
1.Refactoring
2.Forward Engineering
3.Reverse Engineering
4.Model Transformation
Refactoring
Restructure code without affecting external behavior
Forward Engineering
Implementing design model in code
-Map inheritance, associations, contracts to exceptions, models to tables
Model Transformation
-Collapse Objects
-Delay expensive computations
Reverse Engineering
Deconstruct code to learn what it does and make it do things it wasn't designed to do