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.

O

object 11, 361
adapter, see adapter, object
acquaintance 22
aggregation 22
as argument to request 345
aspect of 298
avoiding dependence on implementation of 24
composition, see object composition
finding
granularity of, see also Flyweight 13
guts 179
reference 361
shared, see Flyweight
skin 179
specifying implementation of 14
specifying interface to 13
object composition 18, 361
compared with inheritance 18-20
compared with parameterized types 22
reuse through 19
object diagram 364, 361
Objects for STATEs, see STATE
Object Modeling Technique 7, 14, 363, 364
Objective C 90, 120, 121, 135, 144
Objectory 363
ObjectWindows
use of ITERATOR 270
use of Strategy 323
ObjectWorks\Smalltalk, see also Smalltalk
use of ADAPTER 148-149
use of DECORATOR 182
use of Facade 191
OBSERVER 293
combined with MEDIATOR 278, 282
compared with CHAIN OF RESPONSIBILITY 346, 348
compared with MEDIATOR 346, 348
in Model/View/Controller 5
in catalog summary 8
limiting unexpected updates in 296
OBSERVER 300
combining with Subject 300
participant of OBSERVER 294c, 295, 295i, 300c, 347i
OMT, see Object Modeling Technique
operation 11, 361
abstract 15, 359
adding to classes 335
avoiding dependence on specific 24
class, see class operation
concrete 327
dispatch, see dispatch
hook, see hook operation
overriding 16
primitive 327, 329
Orbix
use of FACTORY METHOD 116
Originator
participant of MEMENTO 285, 285c, 286i
originator 284
overloading
used to implement PROXY 211
used to implement VISITOR 72, 337