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.

## R

RApp
  use of STRATEGY 323
RealSubject
  participant of PROXY 209co, 210
Receiver
  participant of COMMAND 236, 236c, 237i, 238
receiver 361
  decoupling from sender 346
  implicit 224
Rect 374
Rectangle 20, 20c
recursive composition 36, see also COMPOSITE
  iteration over 262
  of document structure 36
  of graphic elements 163
  of part-whole structures 164
redesign, causes of 24
redo, see undo/redo
refactoring 326, 353
reference counting 210
RefinedAbstraction
  participant of BRIDGE 153c, 154
regular expression 243
  representing in Smalltalk 248
RegularExpression 244c
remote proxy, see proxy, remote
RepetitionExpression 244co, 343
  implemented in Smalltalk 249
request 11, 361
  automatic forwarding of 229
  encapsulation of 59, see also COMMAND
  guaranteed receipt of 226
  representing 227
  sequencing 234
Responder 232
reuse
  black-box 19, 354, 359
  by composition 19
  by parameterized types 21
  by subclassing 19
  code 26
  designing for 24-25
  frameworks 26
  internal 25
  maximizing 23
  of implementation 18
  toolkits 26
  white-box 19, 354, 362
Rich Text Format 97
robust iterator, see iterator, robust
Room 82c, 83
RTF, see Rich Text Format
RTFReader 97, 97c
RTL Smalltalk compiler
  use of COMPOSITE 172
  use of STRATEGY 323