org.eigenbase.util
Class Glossary

java.lang.Object
  extended by org.eigenbase.util.Glossary

public class Glossary
extends Object

A collection of terms.

(This is not a real class. It is here so that terms which do not map to classes can be referenced in Javadoc.)

Since:
Nov 28, 2003
Version:
$Id: //open/dev/farrago/src/org/eigenbase/util/Glossary.java#10 $
Author:
jhyde

Field Summary
static Glossary AbstractFactoryPattern
          Provide an interface for creating families of related or dependent objects without specifying their concrete classes.
static Glossary AdapterPattern
          Convert the interface of a class into another interface clients expect.
static Glossary BridgePattern
          Decouple an abstraction from its implementation so that the two can very independently.
static Glossary BuilderPattern
          Separate the construction of a complex object from its representation so that the same construction process can create different representations.
static Glossary ChainOfResponsibilityPattern
          Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request.
static Glossary CommandPattern
          Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations.
static Glossary CompositePattern
          Compose objects into tree structures to represent part-whole hierarchies.
static Glossary DecoratorPattern
          Attach additional responsibilities to an object dynamically.
static Glossary FacadePattern
          Provide a unified interface to a set of interfaces in a subsystem.
static Glossary FactoryMethodPattern
          Define an interface for creating an object, but let subclasses decide which class to instantiate.
static Glossary FlyweightPattern
          Use sharing to support large numbers of fine-grained objects efficiently.
static Glossary InterpreterPattern
          Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language.
static Glossary IteratorPattern
          Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation.
static Glossary MediatorPattern
          Define an object that encapsulates how a set of objects interact.
static Glossary MementoPattern
          Without violating encapsulation, capture and externalize an objects's internal state so that the object can be restored to this state later.
static Glossary ObserverPattern
          Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically.
static Glossary Pattern
          This table shows how and where the Gang of Four patterns are applied.
static Glossary PrototypePattern
          Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype.
static Glossary ProxyPattern
          Provide a surrogate or placeholder for another object to control access to it.
static Glossary SingletonPattern
          Ensure a class only has one instance, and provide a global point of access to it.
static Glossary Sql2003
          The official SQL:2003 standard (ISO/IEC 9075:2003), which is broken up into numerous parts.
static Glossary Sql92
          The official SQL-92 standard (ISO/IEC 9075:1992).
static Glossary Sql99
          The official SQL:1999 standard (ISO/IEC 9075:1999), which is broken up into five parts.
static Glossary StatePattern
          Allow an object to alter its behavior when its internal state changes.
static Glossary StrategyPattern
          Define a family of algorithms, encapsulate each one, and make them interchangeable.
static Glossary TemplateMethodPattern
          Define the skeleton of an algorithm in an operation, deferring some steps to subclasses.
static Glossary VisitorPattern
          Represent an operation to be performed on the elments of an object structure.
 
Constructor Summary
Glossary()
           
 
Method Summary
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

Pattern

public static final Glossary Pattern

This table shows how and where the Gang of Four patterns are applied. The table uses information from the GoF book and from a course on advanced object design taught by Craig Larman.

The patterns are in three groups depicting frequency of use. The * patterns in light green are used frequently. Those in yellow have moderate use. Patterns in red are infrequently used. The GoF column gives the original Gang Of Four category for the pattern. The Problem and Pattern columns are from Craig's refinement of the type of problems they apply to and a refinement of the original three pattern categories.

Gang of Four Patterns
Pattern Name GOF Category Problem Pattern Often Uses Related To
Abstract Factory Creational Creating Instances Class/Interface Definition plus Inheritance Factory Method
Prototype
Singleton with Facade
Factory Method
Prototype
Singleton
Object Adapter Structural Interface Wrap One - Bridge
Decorator
Proxy
Command Behavioral Organization or Communication of Work
Action/Response
Behavior Objects Composite Composite
Memento
Prototype
Composite Structural Structural Decomposition of Objects or Subsystems Wrap Many - Decorator
Iterator
Visitor
Decorator Structural Instance Behavior Wrap One - Object Adapter
Composite
Strategy
Facade Structural Access Control
&*nbsp;

Structural Decomposition of Objects or Subsystems

Wrap Many Singleton with Abstract Factory Abstract Factory
Mediator
Flyweight Structural Shared Resource Handling Object State or Values - Singleton
State
Strategy
Shareable
Iterator Behavioral Traversal Algorithm
&*nbsp;

Access Control

Low Coupling - Composite
Factory Method
Memento
Observer Behavioral Event Response
&*nbsp;

Organization or Communication of Work

Low Coupling - Mediator
Singleton
Proxy Structural Access Control Wrap One - Adapter
Decorator
Singleton Creational Access Control Other - Abstract Factory
Builder
Prototype
State Behavioral Instance Behavior Object State or Values Flyweight Flyweight
Singleton
Strategy Behavioral Single Algorithm Behavior Objects - Flyweight
State
Template Method
Template Method Behavioral Single Algorithm Class or Interface Definition plus Inheritance - Strategy
Class Adapter Structural Interface Class or Interface Definition plus Inheritance - Bridge
Decorator
Proxy
Bridge Structural Implementation Wrap One - Abstract Factory
Class Adaptor
Builder Creational Creating Structures Class or Interface Definition plus Inheritance - Abstract Factory
Composite
Chain of Responsibility Behavioral Single Algorithm
&*nbsp;

Organization or Communication of Work

Low Coupling - Composite
Factory Method Creational Creating Instances Class or Interface Definition plus Inheritance Template Method Abstract Factory
Template Method
Prototype
Mediator Behavioral Interaction between Objects
&*nbsp;

Organization or Communication of Work

Low Coupling - Facade
Observer
Prototype Creational Creating Instances Other - Prototype
Composite
Decorator
Visitor Behavioral Single Algorithm Behavior Objects - Composite
Visitor
Interpreter Behavioral Organization or Communication of Work Other - Composite
Flyweight
Iterator
Visitor
Memento Behavioral Instance Management Object State or Values - Command
Iterator


AbstractFactoryPattern

public static final Glossary AbstractFactoryPattern
Provide an interface for creating families of related or dependent objects without specifying their concrete classes. (See GoF.)


BuilderPattern

public static final Glossary BuilderPattern
Separate the construction of a complex object from its representation so that the same construction process can create different representations. (See GoF.)


FactoryMethodPattern

public static final Glossary FactoryMethodPattern
Define an interface for creating an object, but let subclasses decide which class to instantiate. Lets a class defer instantiation to subclasses. (See GoF.)


PrototypePattern

public static final Glossary PrototypePattern
Specify the kinds of objects to create using a prototypical instance, and create new objects by copying this prototype. (See GoF.)


SingletonPattern

public static final Glossary SingletonPattern
Ensure a class only has one instance, and provide a global point of access to it. (See GoF.)

Note that a common way of implementing a singleton, the so-called double-checked locking pattern, is fatally flawed in Java. Don't use it!


AdapterPattern

public static final Glossary AdapterPattern
Convert the interface of a class into another interface clients expect. Lets classes work together that couldn't otherwise because of incompatible interfaces. (See GoF.)


BridgePattern

public static final Glossary BridgePattern
Decouple an abstraction from its implementation so that the two can very independently. (See GoF.)


CompositePattern

public static final Glossary CompositePattern
Compose objects into tree structures to represent part-whole hierarchies. Lets clients treat individual objects and compositions of objects uniformly. (See GoF.)


DecoratorPattern

public static final Glossary DecoratorPattern
Attach additional responsibilities to an object dynamically. Provides a flexible alternative to subclassing for extending functionality. (See GoF.)


FacadePattern

public static final Glossary FacadePattern
Provide a unified interface to a set of interfaces in a subsystem. Defines a higher-level interface that makes the subsystem easier to use. (See GoF.)


FlyweightPattern

public static final Glossary FlyweightPattern
Use sharing to support large numbers of fine-grained objects efficiently. (See GoF.)


ProxyPattern

public static final Glossary ProxyPattern
Provide a surrogate or placeholder for another object to control access to it. (See GoF.)


ChainOfResponsibilityPattern

public static final Glossary ChainOfResponsibilityPattern
Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it. (See GoF.)


CommandPattern

public static final Glossary CommandPattern
Encapsulate a request as an object, thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations. (See GoF.)


InterpreterPattern

public static final Glossary InterpreterPattern
Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language. (See GoF.)


IteratorPattern

public static final Glossary IteratorPattern
Provide a way to access the elements of an aggregate object sequentially without exposing its underlying representation. (See GoF.)


MediatorPattern

public static final Glossary MediatorPattern
Define an object that encapsulates how a set of objects interact. Promotes loose coupling by keeping objects from referring to each other explicitly, and it lets you vary their interaction independently. (See GoF.)


MementoPattern

public static final Glossary MementoPattern
Without violating encapsulation, capture and externalize an objects's internal state so that the object can be restored to this state later. (See GoF.)


ObserverPattern

public static final Glossary ObserverPattern
Define a one-to-many dependency between objects so that when one object changes state, all its dependents are notified and updated automatically. (See GoF.)


StatePattern

public static final Glossary StatePattern
Allow an object to alter its behavior when its internal state changes. The object will appear to change its class. (See GoF.)


StrategyPattern

public static final Glossary StrategyPattern
Define a family of algorithms, encapsulate each one, and make them interchangeable. Lets the algorithm vary independently from clients that use it. (See GoF.)


TemplateMethodPattern

public static final Glossary TemplateMethodPattern
Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure. (See GoF.)


VisitorPattern

public static final Glossary VisitorPattern
Represent an operation to be performed on the elments of an object structure. Lets you define a new operation without changing the classes of the elements on which it operates. (See GoF.)


Sql92

public static final Glossary Sql92
The official SQL-92 standard (ISO/IEC 9075:1992). To reference this standard from methods that implement its rules, use the @sql.92 custom block tag in Javadoc comments; for the tag body, use the format <SectionId> [ ItemType <ItemId> ], where For example,
@sql.92 Section 11.4 Syntax Rule 7.c
is a well-formed reference to the rule for the default character set to use for column definitions of character type.

Note that this tag is a block tag (like @see) and cannot be used inline.


Sql99

public static final Glossary Sql99
The official SQL:1999 standard (ISO/IEC 9075:1999), which is broken up into five parts. To reference this standard from methods that implement its rules, use the @sql.99 custom block tag in Javadoc comments; for the tag body, use the format <PartId> <SectionId> [ ItemType <ItemId> ], where For example,
@sql.99 Part 2 Section 11.4 Syntax Rule 7.b
is a well-formed reference to the rule for the default character set to use for column definitions of character type.

Note that this tag is a block tag (like @see) and cannot be used inline.


Sql2003

public static final Glossary Sql2003
The official SQL:2003 standard (ISO/IEC 9075:2003), which is broken up into numerous parts. To reference this standard from methods that implement its rules, use the @sql.2003 custom block tag in Javadoc comments; for the tag body, use the format <PartId> <SectionId> [ ItemType <ItemId> ], where For example,
@sql.2003 Part 2 Section 11.4 Syntax Rule 10.b
is a well-formed reference to the rule for the default character set to use for column definitions of character type.

Note that this tag is a block tag (like @see) and cannot be used inline.

Constructor Detail

Glossary

public Glossary()