Names of design patterns appear in small capitals: e.g., ADAPTER. Page numbers in bold indicate the definition of a term. Numbers in italics indicate a diagram for the term. Letters after a diagram's page number indicate the kind of diagram: a "c" denotes a class diagram, an "i" denotes an interaction diagram, and an "o" denotes an object diagram. For example, 88co means that a class and object diagram appears on page 88.

A

abstract class 15, 16c, 359, 364, 365c
abstract coupling, see coupling, abstract
in OBSERVER 296
ABSTRACT FACTORY 87
extensibility of 91
in catalog summary 8
Lexi's use of 51
used to configure a subsystem 193
Abstract Factory
participant of ABSTRACT FACTORY 88c, 89
abstract operation, see operation, abstract
use to implement ADAPTER 144
abstract syntax tree 244, 251, 331
class structure for 244c, 331c
constructing in Smalltalk 250
object structure for 244o
AbstractExpression
participant of Interpreter 245c, 245
Abstraction
participant of BRIDGE 153c, 154
AbstractProduct
participant of ABSTRACT FACTORY 88c, 89
accumulating state 336
acquaintance 22, 359
C++, defined in 23
compared with aggregation 23
Smalltalk, defined in 23
Action, see COMMAND
active iterator, see iterator, active
Ada 4, 21
Adaptee
participant of ADAPTER 141, 141c
ADAPTER 139
compared with BRIDGE 161, 219
compared with DECORATOR 184
compared with PROXY 216
in catalog summary 8
Adapter
participant of ADAPTER 141, 141c
adapter 140
class adapter 141, 141c
object adapter 141, 141c
parameterized 145
pluggable, see pluggable adapter
two-way 143, 143c
adorner 179
Aggregate
participant of ITERATOR 259, 259c
aggregate object 257
aggregation 22, 359
C++, defined in 23
compared with acquaintance 23
notation for 23
Smalltalk, defined in 23
Alexander, Christopher xiii, 2, 356, 358
algorithm
avoiding dependence on 24
defining steps of 326
family of 317
skeleton 327
AlternationExpression 244co, 343
implemented in Smalltalk 249
aluminum alloy 76
Ambassador, see also PROXY
C++ idiom 208
AnalogClock 303
analysis object model
transforming to design object model 353
ancestor class 361, see also class, parent
Anderson, Bruce xi, 357
AndExp 253
Andrew Toolkit
use of OBSERVER 303
Application 107, 107c, 223o, 224ci, 231, 325, 325c
application programs 25
ApplicationWindow 53, 54c, 55c, 157, 233c, 234c
ArrayCompositor 42c, 315, 315c, 322
ASCII7Stream 183, 183c
aspect of an object 298
AssignmentNode 333c
associations, see also acquaintance, aggregation
in OMT 364