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
ImageProxy207o, 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, 360
  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 Visitor74i
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