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.

## E

e-mail address
  reaching the authors xii
Eiffel 17, 21
Element
  participant of VISITOR 334, 334c
encapsulation 11, 360
  breaking with inheritance 19
  breaking with VISITOR 337
  preserving boundaries of 286
  of algorithms, see STRATEGY
  of complex update semantics, 299, see also ChangeManager
  of concept that varies 29, 54
  of document analysis and traversal 71
  of protocol between objects, see MEDIATOR
  of how objects are created, see ABSTRACT FACTORY, BUILDER, PROTOTYPE
  of traversal, see ITERATOR
  of requests 59, see also COMMAND
  of state-specific behavior, see STATE
EnchantedMazeFactory 93
envelope-letter idiom 313
Equipment 170, 340
EquipmentVisitor341
error accumulation
  avoiding during undo/redo 239
ET++
  use of ABSTRACT FACTORY 95
  use of ADAPTER 126, 148
  use of BRIDGE 160
  use of BUILDER 105
  use of CHAIN OF RESPONSIBILITY 232
  use of COMPOSITE 172
  use of COMMAND 242
  use of DECORATOR 182, 183
  use of FACADE 192
  use of FACTORY METHOD 115
  use of FLYWEIGHT 206
  use of ITERATOR 261
  use of MEDIATOR 281
  use of OBSERVER 303
  use of PROTOTYPE 120, 125
  use of PROXY 216
  use of STRATEGY 322-323
ET++SwapsManager
  use of STRATEGY 323
ETgdb 125
expansion phase of lifecycle 353, 354
explosion, see class hierarchy, explosion
ExtendedHandler 228
external iterator, see iterator, external
extrinsic state, see state, extrinsic