The design patterns movement, the beginnings of which can be traced to Gamma, Helm, Johnson and Vlissides famous Design Patterns book, has informed and changed software development, and spawned a raft of books and study groups.
That's right, people actually get together, read these books one chapter at a time, and talk about software design patterns - for fun! (I admit to being one of them). So, Joey Lott and Danny Patterson are taking on a real challenge in writing a book on this topic, and the term "advanced" in the title is well-advised.
The first chapter is not about patterns but pretty basic object oriented stuff: inheritance vs. composition, polymorphism, code conventions, design first then write unit tests first. These topics are standard fare for a book of this type, and the chapter is blessedly succinct.
The second chapter is on programming to interfaces, a fundamental idea of great importance. Lott and Patterson give one of the clearest explanations I have read of the advantages, and give a convincing argument for always programming to interfaces even when you are using inheritance. Dude! Actionscript3 has interfaces!
Then you get the chapters on patterns: Model/View/Controller, Singleton, Factory/Template, Proxy, Iterator, Composite, Decorator, Command, Memento, and State. I guarantee that after you have read these chapters and studied the code, you will understand these patterns a lot better than before, and will have ideas on how to use them.
The book is rounded out with entire chapters on Events (everything you always wanted to know but were afraid you wouldn't understand why), sending and loading data, E4X, and RegEx.
I have only a couple of minor cavils about the book. It would have been SO EASY to include the compilation command line.
/flex_sdk_2/bin/mxmlc MyProgram.as
See? Now you can compile for free! The book doesn't give you info on command line tools, but assumes you have downloaded and installed the 30-day flex compiler. And in the wonderfully worked out and fully crafted source code which you can download from the publisher's website, once again I was left scratching my head, when it said you have to set the source path to the library. Thanks very much, but tell me how?
It is not possible to have a useful book of this type without showing substantial amount of source for real projects, and fortunately, here Lott and Patterson really deliver. The projects are not on the level of usefulness of Phillip Kerman's book on Flash 8 at work, but they are complete enough to illustrate the patterns. All source is in 100 percent Actionscript 3, with no Flex component source; since the book is not about Flex I consider this to be an advantage. At any rate, this book communicates the usefulness, as well as the nuts and bolts, of some fundamental software design patterns, several of which I have already used, and others which I will use soon.