ActionScript 3.0 Design Patterns

(Chris Devlin) #1

508 | Index


state, 43
state engine, 43
state machines, 6, 358
State pattern, 246, 357–361
adding states, 374–382
adding behaviors, 375–382
Pause state, 374
adding states and streaming
capabilities, 382–396
ActionScript 3.0, preparing for
FMS2, 382
adaptable states, 383
FMS2, special concerns regarding, 383
key features, 357
minimal abstract pattern, 361–367
abstract state machine,
testing, 364–367
context class, 363
OOP concepts used with, 360
State model, 358
design structure, 360
transitions, 359
triggers, 359
summary, 397
video player application, 367–374
State.as, 362, 366, 368, 375, 384
statecharts, 358
static Instance( ) method, 102
SteelShed.as, 343
Stop state, 383
StopState.as, 365, 368, 375, 385
Strategy pattern, 246, 398–402
clown employment agency, 406–414
adding functionality, 411–414
context class and concrete
contexts, 406
Skits interface and
implementations, 409
subclass organization, 414
testing, 410
Tricks interface and
implementations, 407
key features, 399
minmal abstract pattern, 402–405
adding a strategy, 403
completion and testing, 404
delegation to ConcreteContext
class, 404
delegation, using with the Context
class, 403
strategy details, 403
OOP concepts used with, 400–402


delegation and delegates, 401
encapsulating variation, 400
strategy model, 399
string strategies, 414–422
checking strategies, 418
context classes, 416
sort strategies, 419
strategy classes, 417
support classes, 420
testing, 421
summary, 423
Strategy.as, 403
StringChecker.as, 416
StringWork.as, 418
Structural design patterns, 127
Subclass.as, 32
SubclassChange.as, 33
subclasses, 26
abstract classes, extension of, 68
Sue.as, 142
superclasses, 26
Symmetric Proxy pattern, 426, 469–475
button controls, 495
classes and document files support, 494
description, 473
dynamic output text fields, 494
Flash file and connection Movie Clip, 496
Internet, information shared over, 483
Internet, proxies, and players, 472
key features, 474
cell, 474
proxy, 474
methods, 480
move making, 491
dual moves, 492
event to move, 491
proxy moves, 492
referee object, 492
OOP concepts used with, 475
communication flexibility, 476
game flexibility, 476
player interface, 477
player-proxy classes, 486–491
players, 470
Referee class, 478
referees, 471
RPS subclass, 481
second player class, 493
summary, 498
template methods, 481
SymPlayer.as, 478
SymPlayer1.as, 487
Free download pdf