ActionScript 3.0 Design Patterns

(Chris Devlin) #1

506 | Index


minimal abstract Observer, 289–294
space battle game, 302–317
battles, recording, 303
concrete classes, 303–306
launching a battle, 306–317
summary, 330
OOP (object-oriented programming), 3,
10–42
abstraction, 11–15
advantages of, 15
Adapter pattern, key OOP concepts
in, 185
code reuse, 33
Command pattern, OOP concepts in, 255
Composite pattern, OOP concepts
in, 217
composition versus inheritance, 185
Decorator pattern, OOP concepts used
with, 132–134
design patterns, improving with, 61
encapsulation, 15–24
Factory Method pattern, concepts used
in, 84
four basic concepts, 11
inheritance, 24–34
meeting client goals with, 60
multiple inheritance, 182
MVC pattern, OOP concepts in, 443
open-closed principle, 67
polymorphism, 34–42
procedural programming languages,
versus, 5
Singleton pattern, concepts used
in, 102–105
State pattern, OOP concepts used
with, 360
Strategy pattern, OOP concepts used
with, 400–402
delegation and delegates, 401
encapsulating variation, 400
Symmetric Proxy pattern, OOP concepts
used with, 475
communication flexibility, 476
game flexibility, 476
Template Method pattern, concepts used
in, 335
abstract functions and override
flexibility, 336
Hollywood Principle, 337
inheritance versus composition, 335
variation, 337


OOPSLA, 470
open for extension, 67
Openness.as, 155
operation( ) method, 209
OrangeDress.as, 143
override statement, 31, 134, 138

P
packages, 69
parallel class hierarchies, 83
parameterized adapter classes, 181
parameterized factory methods, 79
integrating, 81
parameters, 66
parents, 205
PasswordVerify.as, 419
Passwork.as, 417
PauseState.as, 377, 387
Plasma.as, 38
plasma.flv, 41
PlayAbstract.as, 14
PlayAudio.as, 54
Playlist.as, 218
PlayMedia .as, 349
PlayMusic.as, 36
PlayPodcastCommand.as, 272
PlayState.as, 365, 369, 376, 386
PlayTune.as, 348
PlayVideo.as, 12, 54, 347
PlayVideoAbstract class, 14
PlayVideoAbstract.as, 13
Podcast XML feed, 271
podcasts, 270
polymorphism, 34–42, 217, 360
interfaces, implementing with, 37
Polymorphism.as, 35
Prejudice.as, 158
PrintCenter.as, 76
Printjob.as, 76
Prius.as, 166
procedural programming, 4
product classes, 66
Product.as, Product1.as, and Product2.as, 70
program to interfaces over
implementations, 45, 285
Projectile.as, 92
protected classes, 74
proxygame.asc, 484
public classes, 71
public statement, 31
PublicClass.as, 104
Free download pdf