10.12.2012 Views

ActionScript 3.0 Design Patterns.pdf - VideoTutorials-bg.com

ActionScript 3.0 Design Patterns.pdf - VideoTutorials-bg.com

ActionScript 3.0 Design Patterns.pdf - VideoTutorials-bg.com

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

minimal abstract Observer, 289–294<br />

space battle game, 302–317<br />

battles, recording, 303<br />

concrete classes, 303–306<br />

launching a battle, 306–317<br />

summary, 330<br />

OOP (object-oriented programming), 3,<br />

10–42<br />

abstraction, 11–15<br />

advantages of, 15<br />

Adapter pattern, key OOP concepts<br />

in, 185<br />

code reuse, 33<br />

Command pattern, OOP concepts in, 255<br />

Composite pattern, OOP concepts<br />

in, 217<br />

<strong>com</strong>position versus inheritance, 185<br />

Decorator pattern, OOP concepts used<br />

with, 132–134<br />

design patterns, improving with, 61<br />

encapsulation, 15–24<br />

Factory Method pattern, concepts used<br />

in, 84<br />

four basic concepts, 11<br />

inheritance, 24–34<br />

meeting client goals with, 60<br />

multiple inheritance, 182<br />

MVC pattern, OOP concepts in, 443<br />

open-closed principle, 67<br />

polymorphism, 34–42<br />

procedural programming languages,<br />

versus, 5<br />

Singleton pattern, concepts used<br />

in, 102–105<br />

State pattern, OOP concepts used<br />

with, 360<br />

Strategy pattern, OOP concepts used<br />

with, 400–402<br />

delegation and delegates, 401<br />

encapsulating variation, 400<br />

Symmetric Proxy pattern, OOP concepts<br />

used with, 475<br />

<strong>com</strong>munication flexibility, 476<br />

game flexibility, 476<br />

Template Method pattern, concepts used<br />

in, 335<br />

abstract functions and override<br />

flexibility, 336<br />

Hollywood Principle, 337<br />

inheritance versus <strong>com</strong>position, 335<br />

variation, 337<br />

506 | Index<br />

OOPSLA, 470<br />

open for extension, 67<br />

Openness.as, 155<br />

operation( ) method, 209<br />

OrangeDress.as, 143<br />

override statement, 31, 134, 138<br />

P<br />

packages, 69<br />

parallel class hierarchies, 83<br />

parameterized adapter classes, 181<br />

parameterized factory methods, 79<br />

integrating, 81<br />

parameters, 66<br />

parents, 205<br />

PasswordVerify.as, 419<br />

Passwork.as, 417<br />

PauseState.as, 377, 387<br />

Plasma.as, 38<br />

plasma.flv, 41<br />

PlayAbstract.as, 14<br />

PlayAudio.as, 54<br />

Playlist.as, 218<br />

PlayMedia .as, 349<br />

PlayMusic.as, 36<br />

PlayPodcastCommand.as, 272<br />

PlayState.as, 365, 369, 376, 386<br />

PlayTune.as, 348<br />

PlayVideo.as, 12, 54, 347<br />

PlayVideoAbstract class, 14<br />

PlayVideoAbstract.as, 13<br />

Podcast XML feed, 271<br />

podcasts, 270<br />

polymorphism, 34–42, 217, 360<br />

interfaces, implementing with, 37<br />

Polymorphism.as, 35<br />

Prejudice.as, 158<br />

PrintCenter.as, 76<br />

Printjob.as, 76<br />

Prius.as, 166<br />

procedural programming, 4<br />

product classes, 66<br />

Product.as, Product1.as, and Product2.as, 70<br />

program to interfaces over<br />

implementations, 45, 285<br />

Projectile.as, 92<br />

protected classes, 74<br />

proxygame.asc, 484<br />

public classes, 71<br />

public statement, 31<br />

PublicClass.as, 104

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!