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.

I

IconWindow 53, 54c, 151-152, 151c, 157
Image 207o, 208c, 213
ImagePROXY 207o, 208c
Implementor
participant of BRIDGE 153c, 154
implicit receiver, see receiver, implicit
incremental changes 287
inheritance 15, 360
C++, defined in 17
class versus interface 16
combined with polymorphism 18
compared with object composition 18 178
compared with parameterized types 21
dynamic 309
Eiffel, defined in 17
implementation 17, 360
interface 17,
mixin, see mixin class
notation for 15, 364, 365c
proper use of 18
reuse through 18
Smalltalk, defined in 17
inorder traversal, see traversal, inorder
instance, see also class, instance
ensuring uniqueness, see Singleton
variable 15, 360
instantiation 15
abstracting process of 48
notation for 15, 364, 365c
integrated circuit 323
interaction diagram 7, 366
in Builder 99i
in CHAIN OF RESPONSIBILITY 224i, 348i
in COMMAND 237i, 347i
in MEDIATOR 274i, 348i
in MEMENTO 286i
in OBSERVER 295i, 347i
in VISITOR 335i
Lexi's VISITOR 74i
interface 13
benefits of programming to 18
bloat 257
conversion, see ADAPTER
for iteration 262
inheritance 13, 17
narrow versus wide in MEMENTO 285
specifying in C++ 17
simplifying subsystems, see Facade
internal iterator, see iterator, internal
Interpreter 243
combined with Composite 255
combined with VISITOR 247, 255
in catalog summary 9
InterViews
use of ABSTRACT FACTORY 95
use of ADAPTER 148
use of COMMAND 242
use of Composite 172
use of DECORATOR 182
use of Flyweight 205
use of OBSERVER 303
use of Singleton 133
use of Strategy 320,
intrinsic state, see state, intrinsic
inversion of control flow 27
invitation 358
Invoker
participant of COMMAND 236, 236c, 237i, 347i
IRIS Inventor
use of VISITOR 344
ITERATOR 257
combined with Composite 362
combined with VISITOR 339
compared with VISITOR 336
in catalog summary 9
use in Lexi 69
ITERATOR 67, 67c, 258c, 263, 372
participant of ITERATOR 259, 259c
iterator 66, 257, 339,
access to aggregate 262
active 260
alternative to in Smalltalk 270
controlling 260
cursor 261
ensuring deletion of 266
external 260, 339, 269
interface to 261, 263
internal 260, 267, 339, see also ListTraverser
null 262, see also NullITERATOR
over recursive structures 262
parameterized with an operation 267
passive 260
polymorphic 258, 261, 265
privileged access to Aggregate 262
robust 261