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.
S
- scope of design pattern, see design pattern, scope
- Scrollbar
50c
- ScrollDecorator176o,
176c
- Scroller
45,
46o
- Self
4,
121,
309
- sender
- decoupling from receiver
346
- SequenceExpression
244co,
343
- implemented in Smalltalk
249
- sequencing requests
234
- shallow copy, see copy, shallow
- Shape
139,
140c,
146
- shrinkability
320
- signature
13,
361
- SimpleCompositor
42,
42c,
315,
315c,
321
- single static assignment form, SSA
172
- single-dispatch, see dispatch, single
- SINGLETON
127
- C++ implementation
129,
131
- in catalog summary
9
- registry of
130
- subclassing
130
- used to implement ABSTRACT
FACTORY
90
- Singleton
- participant of SINGLETON127c,
128
- Sketchpad
125
- SkipList
258c,
265
- skiplist
258
- Smalltalk-80, see also ObjectWorks\Smalltalk, Smalltalk/V
- use of BUILDER105
- use of COMPOSITE172
- use of FACTORY METHOD
115
- use of INTERPRETER251
- use of ITERATOR
270
- use of OBSERVER
303
- use of SINGLETON133
- use of VISITOR
344
- Smalltalk/V
- use of INTERPRETER251
- use of MEDIATOR
278,
281
- smart pointers
209
- smart references
209
- software platform
- isolating application from
24
- Solitaire, see SINGELTON
- SolverState283-284
- SPECTalk
- use of INTERPRETER255
- spelling checking
64
- SpellingChecker
71-73
- SpellingCheckerVisitor75
- StandardMazeBuilder
103
- STATE
305
- C++ idiom for, see envelope-letter idiom
- in catalog summary
9
- use of delegation in
21
- State
- participant of STATE
306,
306c
- state
- accumulating during traversal
336
- avoiding inconsistent
308
- extrinsic
196
- incremental changes to
287
- intrinsic
196
- sharing
308,
see also FLYWEIGHT
- state transitions
- atomic
308
- defining
308
- table-driven
308
- STRATEGY
315
- compared with DECORATOR
179
- in catalog summary
8
- Lexi's use of
42
- use in Choices
193
- use in Model/View/Controller
6
- use of delegation in
21
- Strategy
180o
- making optional
320
- participant of STRATEGY316c,
316
- strategy
315
- Stream
183,
183c
- StreamDecorator183,
183c
- stretchability
320
- Stroustrup, Bjarne
160
- structural pattern
10,
137
- comparison between class and object scope
137
- discussion of
219
- subclass, see class, subclass
- subclassing
- extending functionality by
24
- Subject
301
- avoiding dangling references to
297
- combining with Observer300
- participant of OBSERVER
294c,
295,
295i,
300c,
347i
- participant of PROXY
209co,
210
- subject
294
- mapping to observers
297
- observing more than one
297
- subsystem
361
- simplifying interface to, see FACADE
- subtype, see type, subtype
- successor
224
- connecting in chain
227
- implementing chain of
225
- superclass
361,
see also class, parent
- supertype, see type, supertype
- Surrogate, see PROXY
- Sutherland, Ivan
125
- swaps
323