Series: Adobe Developer Library
Paperback: 530 pages
Publisher: Adobe Developer Library; 1 edition (July 26, 2007)
Product Dimensions: 7 x 1 x 9.2 inches
Shipping Weight: 1.8 pounds (View shipping rates and policies)
Average Customer Review: 3.9 out of 5 stars See all reviews (18 customer reviews)
Best Sellers Rank: #1,829,486 in Books (See Top 100 in Books) #91 in Books > Computers & Technology > Digital Audio, Video & Photography > Adobe > Adobe Flash #282 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Structured Design #585 in Books > Textbooks > Computer Science > Object-Oriented Software Design
My biggest complaint with this book is that the authors basically just took the design patterns found in Java and C++ and re-implemented them to run under ActionScript 3 (AS3). The list is comprehensive, but it's clear that the authors don't "think in AS3".In several core ways, AS3 is very different than Java and even more so with respect to C++. For instance, the event model is baked into the language and asynchronous programming is a different style. Also, XML and XPath are native constructs in ActionScript 3, not libraries like they are in other languages. These differences (among others) imply that some of the original Gang of Four (GoF) and Java patterns manifest themselves differently and some patterns don't apply at all. There are a few places in the book where the authors use the built-in events infrastructure and few other native features, but it's clear that they don't think in AS3. It seems like they think in Java.For instance, the observer pattern is one of the core GoF and HeadFirst patterns. However, the native event capability in AS3 serves the same purpose. Rather than show you how/why to use the native event capability, this book happily shows you an AS3 translation of the GoF/HeadFirst observer pattern and never tells you to use the built-in event capability instead. In contrast, the Joey Lott and Danny Patterson book from Adobe Press, does not have a section on the observer pattern, but there is a chapter on "WORKING WITH EVENTS".The above problem would be enough for me to recommend that you not buy this book but it gets worse. This book is not even great at teaching you how to think in design patterns. To be fair, neither is the original GoF design patterns book nor is the Lott/Patterson book.
This book tackles the rather advanced topic of writing reusable OOP code for ActionScript 3.0 targeting intermediate ActionScript developers. The book organizes its topics in a way similar to the book "Design Patterns Elements of Reusable Object-Oriented Software" by Erich Gamma et al - also known as the Gang of Four. In spite of its target audience, the first part of the book contains an introduction to both design patterns and object orientation to assist those readers with minimal object-oriented programming experience. More advanced users may want to skip the review of OOP, but go over the materials on design patterns. Parts II, III and IV are the three major parts of the book. They examine fundamental design patterns, and organize the patterns into creational, structural and behavioral categories. Representative design patterns are included in each part, but every single design pattern from the book by Gamma and his associates is not included since these other patterns are not very relevant to ActionScript, plus Gamma's book is considered the definitive reference on the subject.Each chapter on design patterns is organized in a similar matter both to clarify understanding the purpose of a design pattern and how to use it and to make the book more uniform and therefore well-suited as a reference. The following is the basic outline of each of the chapters on design patterns:1. What is the pattern?2. Key features of the pattern3. The formal model of the pattern including a class diagram4. Key OOP concepts found in the pattern5. Minimalist abstract example6. Applied examplesYou will need either Flash CS3 or Flex 2 to work with the program examples in this book.