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
EquipmentVISITOR 341
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