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
PreorderITERATOR 67
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