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.

## P

parameterized types 21, 361, see also template
  compared with inheritance 22
  compared with composition 22
parent class, see class, parent
parent references
  defined in COMPOSITE 166
parser 247
part-whole, see recursive composition
  see also aggregation
Pascal 4
passive iterator, see iterator, passive
PassivityWrapper 182
path
  specifying multi-segment shapes 57
pattern language 356
Pattern Languages of Programs 357
pattern matching 243
persistence 209
Picture 163c, 164o
PLoP, see Pattern Languages of Programs
pluggable adapter 142
  implementation of 144-145, 144c, 145c, 148, 149c
PMFactory 50c
PMIconWindow 151, 151c
PMWindow 151, 151c
PMWindowImp 152, 152c, 158-159
Point 373
Policy, see STRATEGY
polymorphic iteration 258
  implementing in C++ 261
polymorphism 14, 361
  used with inheritance 18
postorder traversal, see traversal, postorder
preorder traversal, see traversal, preorder
PreorderIterator67
  member functions 68-69
Presentation Manager 35, 48, 52, 56, 57, 87, 151, 158
PricingVISITOR 341
PrintDialog 223o, 224i
private inheritance 361, see also inheritance, implementation
Product
  participant of BUILDER 98c, 99
  participant of FACTORY METHOD 108, 108c
product objects 49
  changing at run-time 119
  creating in ABSTRACT FACTORY 90
  exchanging 89
  family of 87
  varying representation of 100
protection proxy, see proxy, protection
protocol 361
PROTOTYPE 117
  compared with ABSTRACT FACTORY 126, 135
  combined with COMMAND 238
  compared with FACTORY METHOD 116, 120
  in catalog summary 9
  participant of PROTOTYPE 119, 119c
  used to implement ABSTRACT FACTORY 90
prototype 117
prototype manager 121
prototyping phase of lifecycle 353
PROXY 207
  combined with ITERATOR 262
  compared with DECORATOR 220
  in catalog summary 9
Proxy
  participant of PROXY 209co, 209
proxy 207
  protection 208, 210
  remote 208, 210
  virtual 208, 210
pseudocode 16, 16c, 365c
Publish-Subscribe, see OBSERVER
pull model 298
pull-down menu, see menu, pull-down
purpose of design pattern, see design pattern, purpose
push model 298