JETZT ONLINE BESTELLEN
Add to Cart
ActionScript 3.0 Design Patterns
Object Oriented Programming Techniques

First Edition Juli 2007
ISBN 978-0-596-52846-1
532 Seiten
EUR37.00, EUR37.00


Weitere Informationen zu diesem Buch

Inhaltsverzeichnis | Index | Probekapitel | Rezensionen |


Index

	
[ A ], [ B ], [ C ], [ D ], [ E ], [ F ], [ G ], [ H ], [ I ], [ J ], [ K ], [ L ], [ M ], [ N ], [ O ], [ P ], [ Q ], [ R ], [ S ], [ T ], [ U ], [ V ], [ W ],

A[ Top ]
abstract classes, 28, 31, 68, 130
      interfaces, versus, 46
      naming conventions, 30
      purpose, 33
Abstract Component class, 135
abstract decorator class, 136
abstract functions, 336, 355
abstract interfaces, 67
abstract methods, 67
AbstractClass.as, 31, 338
abstraction, 11-15
      ActionScript 3.0, 12
      advantages of, 15
Accord.as, 166
ActionScript 1.0 and SSCA, 483
ActionScript 3.0
      abstract classes and, 31, 68
      abstract functions and, 355
      abstractions in, 12
      AMF (Action Message Format), 383
      embedded scripts and, 5
      implementation, 43
      inheritance, 24
Adaptee.as, 180, 183
adapter class, 177
Adapter pattern, 127, 177-185
      car steering adapter, 185-193
            adapter class, 190
            client, 191
            existing class, 186
            interface conversion, 188-190
      car steering with a mouse, 193
      class adapters, 181
      interfaces and, 177
      key features, 178
      list display adapter, 194-199
            adapter class, 196
            clients, 198
            existing class, 195
            interface conversion, 195
      O'Reilly new books list, 199-202
      object adapters, 179
            minimal example, 179
      OOP concepts in, 185
            object and class adapters, comparison, 185
      summary, 203
Adapter.as, 180, 183
add( ) method, 255
Alert.as, 113
AlertText.as, 115
AlienCannonBall.as, 93
AlienMine.as, 93
AlienShip.as, 95
AlienWeapon.as, 98
ancestors, 24
Append state, 383
AppendState class, 388
AppendState.as, 388
Arrogance.as, 159
.as files, 6
AsciiCharLeafView.as, 441
Audio.as, 346
Auto.as, 165

B[ Top ]
BadImplementation.as, 106
BajaFlight.as, 353
BalloonAnimals.as, 408
BandFace.as, 28
BaseClass.as, 50
Behavioral design patterns, 245
Biz.as, 38
black boxes, 15
black-box reuse, 288
BlueDress.as, 143
BodySegment.as, 229
Bojo.as, 407
Bongo.as, 29
bongo.mp3, 41
Booch, Grady, 12
Bow.as, 144
BtnState.as, 371
BubblePants.as, 412
Bubbles.as, 412
BuildShed.as, 343
Button class, 7
Button scripts, 5

C[ Top ]
Car.as, 190
CarAdapter.as, 190
CarModel.as, 458
CarView.as, 461
Cat.as, 26
CBView.as, 448
CharCodeLeafView.as, 440
Chase.as, 409
ChaseController.as, 466
Checker.as, 417
children, 205
CircleWidget.as, 87
class adapters, 181
      inheritance of interfaces and implementations, 182
class inheritance versus object composition, 49
classes
      concrete creator classes, 100
      creator classes, 66
      internal classes, 71, 74
      product classes, 66
      protected classes, 74
      public classes, 71
      tight coupling, 181
      writing for inheritance, 25
Classic.as, 35
clients, 44, 66
Client-Side ActionScript (CSAS), 382
closed for modification, 67
Cloudy.as, 354
Clown.as, 406, 411
ClownCollege.as, 410, 412
code examples, xvii
code reuse, 33
ColorInkjetPrintjob.as, 80
Command class, 250
Command pattern, 246, 247-255
      class diagram, 250
      command interfaces, 248
      command objects, 248-250
            portability, 263
            sharing, 263-265
      command objects, sharing
            invoker, triggering by key presses, 264
      command stacks, 266
      concrete commands, 249
      dynamic command object assignment, 276-280
            commands for, 278
            context sensitive invoker, 276
            setup from the client, 279
      encapsulation, 248, 249
      implementing undo, 266-270
            abstract interface for, 266
            concrete commands for, 267-269
            undoable commands, client assigned, 269
      invokers, 250
      key features, 250
      minimal example, 251-254
            clients, 253
            command interface, 251
            concrete commands, 251
            invokers, 252
            receivers, 252
            triggers, setting for command invocation, 254
      minimal example, macro commands, 255-258
            client, macro command object created from, 258
            command interface, 255
            concrete macro command, 257
            two concrete subcommands, 256
      number manipulator, 258-263
            client, 263
            increment and decrement commands, 262
            invoker, triggering by button clickes, 260
            utility button class, 259
      OOP concepts in, 255
      podcast radio, 270-??
            client assignment of podcasts to push buttons, 275
            command to play podcasts, 272
            package with utility classes, creating, 271
            pushbutton invokers, 274
            radio receiver, developing, 272
      summary, 281
Command.as, 251
CommandWithUndo.as, 266
Compassion.as, 155
complex interfaces, 47
Component class, 205
Component.as, 135, 149, 207, 218, 224
components, 15
ComponentView.as, 437
Composite class, 206, 209
Composite pattern, 128, 204-217
      animation with inverse kinematics, 222
      child nodes, accessing, 211
      composite airplane, creating, 234-243
            airplane damage, calculating, 242
            airplane weight, calculating, 240
            component and composite classes, 234-237
            components, modifying to show damage, 241
            composite structure building, 238-240
            fuselage, wings, and engines, 237-238
      composite structures, building and manipulating, 215
      display list, 233
      Flash's built in composite structure, 233
      key features, 207
      minimal example, 207-216
      music playlist, 217-222
            composite playlists, building, 221
            queuing song sequence, 219-221
      nodes, removing, 212
            parent reference, creating, 212
            remove method, implementing, 213
      OOP concepts in, 217
      snake animation, 222-233
            body and tail, building, 229-232
            component and composite nodes, creating, 223-225
            composite snake, building, 232
            controlling movement, 226
            inverse kinematics, 223
            moving a kinematic pair, 228
            snake head, building, 225
      summary, 243
Composite.as, 209, 225
CompositeView.as, 438
composition, 49-51
      inheritance, versus, 185
      object adapters and, 179
Computers.as, 40
concrete classes, 69
concrete commands, 249
concrete creator classes, 100
ConcreteCommand classes, 250
ConcreteCommand.as, 252
ConcreteCommand1.as and ConcreteCommand2.as, 256
ConcreteComponent.as, 137
ConcreteContext.as, 404
ConcreteMacroCommand.as, 257
ConcreteObserver class, 296
ConcreteStrategy.as, 404
Context.as, 403
ControlButtons.as, 274
Controller.as, 434, 447
controllers, 430
Country.as, 35
coupling, 65, 248
Courage.as, 154
creational design patterns, 63
creator classes, 66
Creator.as, CreatorA.as, and CreatorB.as, 71
CSAS (Client-Side ActionScript), 382

D[ Top ]
data design classes, 321-326
      bar chart display, 323-324
      line graph, 325-326
      UIList component, 321-323
deadly sins, 157-160
Deal.as, 170
DecConA.as and DecConB.as, 138
Decorator class, 133
Decorator pattern, 127, 129-132
      deadly sins and heavenly virtues game, 148-164
            decorating with multiple properties, 151
Decorator pattern
      deadly sins and heavenly virtues game
            (continued)
            good and evil decorators, 153-160
            good and evil decorators, implementing, 160-164
            multiple concrete components, 149
            multiple method concrete decorations, 151
            properties and methods, adding, 149
      Decorator model, 131
      drawbacks of, 176
      Flash paper doll, 141-147
            component class, 141
            concrete classes, 142-145
            Decorator class for dressing dolls, 141
            implementing the paper doll decorator, 145-147
      hybrid car dealership, 164-176
            auto options as decorators, 167-170
            hybrid car components, 165
            user interface, 170-176
      key features, 130
      minimal abstract Decorator, 135-140
            Abstract Component class, 135
            abstract Decorator class, 136-138
            concrete decorator classes, 138
            wrapping components in concrete decorators, 139-140
      OOP concepts used with, 132-134
            flexibility and adaptability, 134
            unwanted inheritance, 132
            wrapping, 133
      summary, 176
Decorator.as, 136, 151, 168
DecrementCommand class, 262
DecrementCommand.as, 262
DecrementCommandWithUndo.as, 268
DecTest.as, 140
delegation, 51-56
      and delegates, 401
dependencies, 66
      dependency rot, 337
      managing, 45
design patterns, 1, 3, 42-57
      Adapter pattern (see Adapter pattern)
      behavioral patterns, 245
      choosing a pattern, 61
      client and request, 44
      Command pattern (see Command pattern)
      complex interfaces, 47
      Composite pattern (see Composite pattern)
      composition, 49-51
      composition, inheritance, and instantiation together, 56
      creational patterns, 63
      Decorator pattern (see Decorator pattern)
      delegation, 51-56
      dependency, managing, 45
      design pattern classifications, 61
      essential principles, 42
      Factory Method pattern (see Factory Method pattern)
      implementations, 43
      improving OOP with, 61
      interfaces versus implementations, 45
      meeting client goals with, 60
      Model-View-Controller pattern (see MVC pattern)
      multiple design patterns, 425
      Observer pattern (see Observer pattern)
      Singleton pattern (see Singleton pattern)
      state, 43
      State pattern (see State pattern)
      Strategy pattern (see Strategy pattern)
      Structural patterns, 127
      Symmetric Proxy pattern (see Symmetric Proxy pattern)
      Template Method pattern (see Template Method pattern)
Design Patterns: Elements of Reusable Object-Oriented Software, xii, xviii
Dick.as, 150
Diligence.as, 156
DirectionGaugeView.as, 464
Disappear.as, 408
display lists, 233
display object containers, 233
display objects, 223, 233
displayObject( ) function, 47
DoBusiness.as, 41
Document class, 6
document class, 69, 207
Dog.as, 26
Dogmatisms.as, 159
DoHasBase.as, 51
doMoveCar( ) method, 188
DoMusic.as, 119
DoMusicBtn.as, 120
DoVid.as, 48
Dresser.as, 142
DynamicControlButtons.as, 277
DynamicText.as, 494

E[ Top ]
ECOOP, 470
EmailCheck.as, 418
encapsulate what varies, 337
encapsulated algorithms, 401
encapsulating variation, 400
encapsulation, 15-24, 248
      purpose, 16
enter frame event handler, 188
Escape.as, 167
execute( ) method, 250, 251
extensiblilty planning, 57-60

F[ Top ]
factories, 66
Factory Method Minimalist.fla, 69
Factory Method pattern, 63, 65-68
      color printing example, 80-83
            clients, 83
            new creator classes, 81
            new product classes, 80
            parallel class hierarchies, 83
      concrete creator classes, 100
      creator classes, 66
      key OOP concepts, 84
      minimal example, 69-74
            clients, 72
            creator classes, 71
            product classes, 70
            product classes, hiding, 73
      object creation and reduction of coupling, 84
      parameterized factory methods, 79
            integrating, 81
      print shop example, 74-79
            clients, 78
            creator classes (print centers), 76
            extension, 78
            product classes (print jobs), 75
      product classes, 66
      Sprite factory, 84-90
            clients, 89
            creator classes (shape creators), 87
            product classes (shape widgets), 85
      summary, 100
      vertical shooter game, 90-100
            clients, 100
            creator classes, 97-99
            product classes, 91-97
factory methods, 67
FallDown.as, 409
FancyPrintCenter.as, 79
FashionShow.as, 145
favor object composition over class inheritance, 49-51, 56, 285, 288
FilledCircleWidget.as, 87
FilledShapeCreator.as, 89
FilledSquareWidget.as, 87
Flash CS3, xiv
      document class, 69
      MovieClip and Button objects, making classes from, 7
Flash Media Server 2 (see FMS2)
Flash paper doll, 141-147
      component class, 141
      concrete classes, 142
            concrete component class, 142
            concrete decorator classes, 143
      Decorator class for dressing dolls, 141
      implementing the paper doll decorator, 145-147
Flex 2, xiv, xv
FlightPlan.as, 353
FMS2 (Flash Media Server 2), xiv, xv
      State pattern and, 383

G[ Top ]
Gamma, Erich, xii
Gang of Four (GoF), xiv
generic concrete decoration, 152
Geostationary Satellite Server, 443
getInstance( ) function, 108
GoF (Gang of Four), xiv
GPS.as, 169
GPSView.as, 465
granularity, 59, 414
Guitar.as, 28

H[ Top ]
HasBase .as, 50
Hat.as, 144
Head.as, 226
HeatedSeat.as, 168
heavenly virtues, 153-156
Heliotis, James, 470
Helm, Richard, xii
HeroCannonBall.as, 93
HeroShip.as, 96
HeroWeapon.as, 98
HighVolPrintCenter.as, 77
Hollywood Principle, 333, 337
hook operation, 334, 351-356
      Baja flight example, 352-356
      uses for, 352
Hope.as, 154
hybrid car dealership, 164-176
      auto options as decorators, 167-170
      hybrid car components, 165
            Auto abstract components, 165
            hybrid car classes concrete components, 166
      user interface, 170-176
            Flash document creation, 174
            implementing concrete components and decorators, 175

I[ Top ]
ICar.as, 458
IChaseHandler.as, 466
ICompInputHandler.as, 446
IKeyboardInputHandler.as, 433, 460
IMacroCommand.as, 256
IModel.as, 445
implementations, 43
      interfaces, versus, 30, 45
ImplementSub.as, 32
ImplementSubChange.as, 34
IncrementCommand class, 262
IncrementCommand.as, 262
IncrementCommandWithUndo.as, 267
Indifference.as, 160
INewModel.as, 452
inheritance, 24-34
      abstract classes and, 31
      advantages and disadvantages, 288
      class adapters and, 181
      classes, writing for, 25
      composition, versus, 185
      multiple inheritance, 182
InkjetPrintjob.as, 76
instance names, 7
Integrity.as, 153
interfaces, 28, 67
      abstract classes, versus, 46
      Adapter pattern and, 177
      Adapter pattern, conversions by, 188-190
      complex interfaces, 47
      implementations, versus, 30, 45
      implementing polymorphism, 37
      naming conventions, 30
      purpose, 33
internal classes, 71, 74
inverse kinematics, 223
Invoker.as, 253
InvokerKeyboard.as, 264
InvokerPanel.as, 261
invokers, 250
ITarget.as, 183
IVid.as, 47

J[ Top ]
Jane.as, 150
Jazz.as, 36
Johnson, Ralph, xii
Juggle.as, 408
Justice.as, 156

K[ Top ]
KeyboardInputView.as, 461
Koka.as, 407

L[ Top ]
Leaf.as, 208
legacy object, 177
LegacyCar.as, 186
ListDisplay.as, 195
ListDisplayField.as, 196
loosely coupled designs, 84, 248, 251, 430, 443
LowVolPrintCenter.as, 77

M[ Top ]
macro commands, 255-258
      client, macro command object created from, 258
      command interface, 255
      concrete macro command, 257
      two concrete subcommands, 256
Main class, 69, 72
Main.as
      Command pattern example, 253
Main.as (Adapter pattern), 180, 184, 192
Main.as (Composite pattern), 210, 215, 226, 239
      updated constructor in, 232
Main.as (document class), 198, 201
Main.as (Factory Method pattern), 72
Main.as (MVC pattern), 436, 462
MainDual.as, 161
maintenance, 57-60
      extensiblility, adding, 59
MakeSound.as, 30
Malice.as, 157
MapTypeController.as, 454
MapView.as, 449
Mariner.as, 166
Media.as, 53
metamorphosis, 34
methods, public versus protected attributes, 72
Model.as, 141, 432, 445
models, 430
Model-View-Controller pattern (see MVC pattern)
modules, 15
MoveButton.as, 495
MovieClip class, 7
MovieClip scripts, 5
MP3.as, 169
Mp3.as, 53
MP3Player.as, 39
Muff.as, 145
MultifunctionPrintJob.as, 79
multiple design patterns, 425
multiple inheritance, 182
MVC (Model-View-Controller) pattern, 425, 427-431
      cars, 457-466
            building the car, 462
            chase car, adding, 466-468
            controller, 460
            custom views, 463-466
            direction guage view, 464
            GPS view, 464
            model, 458-459
            views, 461
      communication between elements, 428
      embedded patterns in, 430
      infrared weather maps, 451-457
            controllers, adding, 454
            models, adding, 452
            MVC triad, building, 456
            views, adding, 454
      integration of Observer, strategy, and Composite patterns, 468
      key features, 442
      minimal example, 431-442
            controller, concrete strategy in a Strategy pattern, 433
            model, concrete subject in Observer pattern, 431-433
            MVC triad, building, 435
            nested views, 436-441
            view as concrete observer in Observer pattern and context in Strategy pattern, 434
      OOP concepts in, 443
      summary, 468
      weather maps, 443-451
            controller, 446
            model element, 444
            model, setting to self-update, 451
            MVC triad, building, 450
            views, 447
MyClient.as, 45
Myers, Tom, 4
MyObject.as, 44

N[ Top ]
Nakhimovsky, Alexander, 4
nested views, 436-442
      and Composite pattern,, 436
      building the structure, 441
net.ObjectEncoding class, 382
NetBtn.as, 370
new keyword, 65
NewHighVolPrintCenter.as, 82
NewLowVolPrintCenter.as, 81
NewModel.as, 453
NewPrintCenter.as, 81

O[ Top ]
Obfuscation.as, 158
object adapters, 179
      minimal example, 179
object composition, 285
      class inheritance, versus, 49
object-oriented programming (see OOP)
Observer pattern, 246, 282-289
      adding states and identifying users, 294-302
            ConcreteObserver class, 296
            multiple states, 295
            newspaper subscription, 300-302
            updated Observer, 297-300
      different data displays, working with, 318-330
            concrete classes, 319
            data design classes, 321-326
            main class, pulling elements together in, 327-330
            output designer, 318
      dynamically changing states, 302
      key features, 283
      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[ Top ]
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

Q[ Top ]
QuadPets.as, 25

R[ Top ]
Radio.as, 273
Rage.as, 157
RBView.as, 455
RearViewVideo.as, 169
receiver class, 272
Receiver.as, 252
Receiver1.as and Receiver2.as, 257
Record state, 383
RecordAudio.as, 55
RecordMedia.as, 55
RecordState class, 387
RecordState.as, 388
RecordVideo.as, 55
Referee.as, 479
remove( ) method, 214, 255
request, 44
return statement, 4
RHController.as, 460
Rock, Paper, Scissors, 470
Rock.as, 35
rocket.fla, 7
RootNodeView.as, 440
RPS.as, 481

S[ Top ]
Schreiner, Axel, 470
scope, 4
sequential programming, 4
Server Side Communication ActionScript (see SSCA)
SetToMusicGenreCommand.as, 278
ShapeCreator.as, 88
ShapeWidget class, 85
ShapeWidget.as, 86
ShedMaker.as, 342
Ship.as, 94
ShipCreator.as, 99
ShopCart.as, 122
ShowText.as, 420
simpleFactory( ) method, 66
SimpleSort.as, 419
single responsibility principle, 443
Singleton pattern, 63, 101-105
      classic singleton, 103
      key features, 101
      minimal abstract singleton, 105-112
            instantiation method, 108
            one instance, different references, 109-112
            private class parameter, instantiation with, 106-108
      model, 102
      one instance, multiple references, 112
      OOP concepts used in, 102-105
            private class constructors, creating and using, 103
            private classe instances, creating, 104
      private class constructors, 103
      private statci instantiation of an instance, 103
      public static functions for creating class instances, 103
      summary, 125
      usage, 112-125
            alert message, 113-116
            music playback, 116-121
            shopping cart, multiple references, 121-125
Singleton.as, 106, 110
SingletonTest.as, 111
Skits.as, 409
Song.as, 219
SortAll.as, 420
SortBack.as, 420
SortWork.as, 418
Soul.as, 162
space battle game, 302-317
      battles, recording, 303
      concrete classes, 303-306
      launching a battle, 306-317
            building android space station and beam, 309
            building spaceships, 306
            building weapons, 307
            change handler, writing, 311-317
            Flash document setup, 306
spaghetti programs, 4
Sprite class, 84
      DisplayObject and DisplayObjectContainer classes, 233
Sprite factory, 84-90
      cleints, 89
      shape creators, 87
      shape widgets, 85
Sprite objects, 6
SquareWidget.as, 86
SSCA (Server Side Communication ActionScript), 483, 485
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

T[ Top ]
Tail.as, 231
Target.as, 180
Template design pattern, 246
template method, 332
template method algorithm, 331
Template Method pattern, 331-337
      employing flexibility, 341-344
      hook operation, 351-356
            Baja flight example, 352-356
            uses for, 352
      key features, 333
      minimal abstract template method, 338-340
            bare bones template method, 338
            testing, 340
      OOP concepts used in, 335
            abstract functions and override flexibility, 336
            Hollywood Principle, 337
            inheritance versus composition, 335
            variation, 337
      pattern model, 334
      sound and video, selecting and playing, 344-350
            concrete classes, 346
            detail classes, 347
            format, setting up, 344
            user interface, 349
      summary, 356
TestCart.as, 123
TestFMS.as, 391
TestMedia.as, 55
TestPause.as, 379
TestPets.as, 27
TestRocket.as, 9
TestState.as, 366
TestStrategy.as, 404
TestStringStrategy.as, 421
TestTemplate.as, 340
TestVid.as (State pattern), 372
TextButton.as, Command pattern, 260
TextDisplayField.as, 271
TextShow.as, 421
Tidwell, Jennifer, 60
tight coupling, 181
TimedInvoker.as, 254
Timeline scripts, 6
Tricks.as, 407
Tuner.as, 118

U[ Top ]
Umbrella.as, 144
undo( ) command, 266
UndoLastCommand.as, 268
unencapsulated algorithms, 400
UnfilledShapeCreator.as, 88
utility button class, 259

V[ Top ]
vertical shooter game, 90-100
      clients, 100
      creator classes, 97-99
            ShipCreator class, 99
            Weapon class, 97
      product classes, 91-97
            projectiles, 91-94
            space ships, 94-97
Vid.as, 346
VidAudio.as, 345
VideoFlash.as, 53
VideoWorks.as, 363, 369, 378, 389
VidPlayer.as, 47
View.as, 434
views, 430
Vlissides,John, xii

W[ Top ]
Weapon.as, 97
whizbang.gif, 41
WoodShed.as, 342
WorkgroupPrintjob.as, 76
Wrapper pattern, 133
wrapping, 133, 139

	

Zurück zu ActionScript 3.0 Design Patterns


Themen

Buchreihen

Special Interest

International Sites

O'Reilly China O'Reilly USA O'Reilly Japan O'Reilly Taiwan