public interface Glossary
(This is not a real class. It is here so that terms which do not map to classes can be referenced in Javadoc.)
| Modifier and Type | Field and Description |
|---|---|
static @Nullable Glossary |
ABSTRACT_FACTORY_PATTERN
Provide an interface for creating families of related or dependent
objects without specifying their concrete classes.
|
static @Nullable Glossary |
ADAPTER_PATTERN
Convert the interface of a class into another interface clients expect.
|
static @Nullable Glossary |
BRIDGE_PATTERN
Decouple an abstraction from its implementation so that the two can very
independently.
|
static @Nullable Glossary |
BUILDER_PATTERN
Separate the construction of a complex object from its representation so
that the same construction process can create different representations.
|
static @Nullable Glossary |
CHAIN_OF_RESPONSIBILITY_PATTERN
Avoid coupling the sender of a request to its receiver by giving more
than one object a chance to handle the request.
|
static @Nullable Glossary |
COMMAND_PATTERN
Encapsulate a request as an object, thereby letting you parameterize
clients with different requests, queue or log requests, and support
undoable operations.
|
static @Nullable Glossary |
COMPOSITE_PATTERN
Compose objects into tree structures to represent part-whole hierarchies.
|
static @Nullable Glossary |
DECORATOR_PATTERN
Attach additional responsibilities to an object dynamically.
|
static @Nullable Glossary |
FACADE_PATTERN
Provide a unified interface to a set of interfaces in a subsystem.
|
static @Nullable Glossary |
FACTORY_METHOD_PATTERN
Define an interface for creating an object, but let subclasses decide
which class to instantiate.
|
static @Nullable Glossary |
FLYWEIGHT_PATTERN
Use sharing to support large numbers of fine-grained objects efficiently.
|
static @Nullable Glossary |
INTERPRETER_PATTERN
Given a language, define a representation for its grammar along with an
interpreter that uses the representation to interpret sentences in the
language.
|
static @Nullable Glossary |
ITERATOR_PATTERN
Provide a way to access the elements of an aggregate object sequentially
without exposing its underlying representation.
|
static @Nullable Glossary |
MEDIATOR_PATTERN
Define an object that encapsulates how a set of objects interact.
|
static @Nullable Glossary |
MEMENTO_PATTERN
Without violating encapsulation, capture and externalize an objects's
internal state so that the object can be restored to this state later.
|
static @Nullable Glossary |
OBSERVER_PATTERN
Define a one-to-many dependency between objects so that when one object
changes state, all its dependents are notified and updated automatically.
|
static @Nullable Glossary |
PATTERN
This table shows how and where the Gang of Four patterns are applied.
|
static @Nullable Glossary |
PROTOTYPE_PATTERN
Specify the kinds of objects to create using a prototypical instance, and
create new objects by copying this prototype.
|
static @Nullable Glossary |
PROXY_PATTERN
Provide a surrogate or placeholder for another object to control access
to it.
|
static @Nullable Glossary |
SINGLETON_PATTERN
Ensure a class only has one instance, and provide a global point of
access to it.
|
static @Nullable Glossary |
SQL2003
The official SQL:2003 standard (ISO/IEC 9075:2003), which is broken up
into numerous parts.
|
static @Nullable Glossary |
SQL92
The official SQL-92 standard (ISO/IEC 9075:1992).
|
static @Nullable Glossary |
SQL99
The official SQL:1999 standard (ISO/IEC 9075:1999), which is broken up
into five parts.
|
static @Nullable Glossary |
STATE_PATTERN
Allow an object to alter its behavior when its internal state changes.
|
static @Nullable Glossary |
STRATEGY_PATTERN
Define a family of algorithms, encapsulate each one, and make them
interchangeable.
|
static @Nullable Glossary |
TEMPLATE_METHOD_PATTERN
Define the skeleton of an algorithm in an operation, deferring some steps
to subclasses.
|
static @Nullable Glossary |
VISITOR_PATTERN
Represent an operation to be performed on the elements of an object
structure.
|
static final @Nullable 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.
| 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 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 Access Control |
Low Coupling | - | Composite Factory Method Memento |
| Observer | Behavioral | Event Response 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 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 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 |
static final @Nullable Glossary ABSTRACT_FACTORY_PATTERN
static final @Nullable Glossary BUILDER_PATTERN
static final @Nullable Glossary FACTORY_METHOD_PATTERN
static final @Nullable Glossary PROTOTYPE_PATTERN
static final @Nullable Glossary SINGLETON_PATTERN
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!
static final @Nullable Glossary ADAPTER_PATTERN
static final @Nullable Glossary BRIDGE_PATTERN
static final @Nullable Glossary COMPOSITE_PATTERN
static final @Nullable Glossary DECORATOR_PATTERN
static final @Nullable Glossary FACADE_PATTERN
static final @Nullable Glossary FLYWEIGHT_PATTERN
static final @Nullable Glossary PROXY_PATTERN
static final @Nullable Glossary CHAIN_OF_RESPONSIBILITY_PATTERN
static final @Nullable Glossary COMMAND_PATTERN
static final @Nullable Glossary INTERPRETER_PATTERN
static final @Nullable Glossary ITERATOR_PATTERN
static final @Nullable Glossary MEDIATOR_PATTERN
static final @Nullable Glossary MEMENTO_PATTERN
static final @Nullable Glossary OBSERVER_PATTERN
static final @Nullable Glossary STATE_PATTERN
static final @Nullable Glossary STRATEGY_PATTERN
static final @Nullable Glossary TEMPLATE_METHOD_PATTERN
static final @Nullable Glossary VISITOR_PATTERN
static final @Nullable Glossary SQL92
<SectionId> [ ItemType <ItemId> ], where
SectionId is the numbered or named section in the table
of contents, e.g. "Section 4.18.9" or "Annex A"
ItemType is one of { Table, Syntax Rule, Access Rule,
General Rule, or Leveling Rule }
ItemId is a dotted path expression to the specific item
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.
static final @Nullable Glossary SQL99
<PartId> <SectionId> [
ItemType <ItemId> ], where
PartId is the numbered part (up to Part 5)
SectionId is the numbered or named section in the part's
table of contents, e.g. "Section 4.18.9" or "Annex A"
ItemType is one of { Table, Syntax Rule, Access Rule,
General Rule, or Conformance Rule }
ItemId is a dotted path expression to the specific item
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.
static final @Nullable Glossary SQL2003
<PartId>
<SectionId> [ ItemType <ItemId> ], where
PartId is the numbered part
SectionId is the numbered or named section in the part's
table of contents, e.g. "Section 4.11.2" or "Annex A"
ItemType is one of { Table, Syntax Rule, Access Rule,
General Rule, or Conformance Rule }
ItemId is a dotted path expression to the specific item
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.
Copyright © 2012-2022 Apache Software Foundation. All Rights Reserved.