Object-Oreiented Programming Techniques
I have been teaching myself how to code for the last year and a half in my spare time and have recently been feeling pretty good about my skill level. Most of what I learned was done in GameMaker which allowed for me to quickly see results and keep me motivated. As with most things, I grew out of using that program exclusively and wanted something more challenging. Therefore, I have been focusing on learning ActionScript 3.0.
This required a large jump in my knowledge since this was the first time I was introduced to creating my own classes. It was easy to make the basic stuff, like drawing a dot on screen or making a button work, but I wanted to push the system harder. I realized at this point that I had to learn all about Object-Oriented Programming (OOP) and I saw that a lot of people recommended this book. It was also a book my school library had, and had access to an online version, so I picked it up.
First, I will have to say that there is a lot to learn and this book is fairly comprehensive. It is almost 500 pages long and almost all text. It starts with a primer on what OOP is all about and why it is useful, then goes on to break down the design patterns into four categories: Creational, Structural, Behavioral, and Multiple Patterns. Obviously when delving into this subject matter, none of this made any sense, but it looked well rounded.
Since I have been using this book for a while, I went back and looked at some reviews from others and noticed a lot of people complaining about how this book is essentially ported from Java or C++ OOP books and doesn’t delve deep enough into ActionScript itself enough. Maybe for coders this is relevant, but for people who have no clue, it broke down the concepts fairly well. The book does reiterate a lot of the same information, which some find to be a bore, but again, when first learning you need that kind of repetition. The book is also full of examples and generally there is more than one for each type of pattern. That is probably the biggest strength this book has.
Now for the downside of this book and it is not good. While they give you plenty of examples, I found that many of them just do not work. In fact, I gave up on the book half way through because of this. They had an example for creating a snake using Inverse Kinematics. Sounds awesome, right? I followed along building the composite class and all the little files it needed and then ran it.
No errors, typos, or bad math. No feedback what so ever. The snake appeared on screen, but when I used the controls to move it, only the head moved. So I went back and looked at all the code line by line, comparing it to the book.
Nothing is more frustrating than following a tutorial that doesn’t work. Eventually, I analyzed everything and figured out how to make it work. They had literally forgot to add the one snippet of code that is necessary to make the whole thing function.
In conclusion, I would have to say that you might consider passing on this book. The only problem is I haven’t found anything comparable yet for us people who are just delving into flash OOP concepts. I am going to start reading Advanced ActionScript Design Patterns next, which I have heard is better, so watch for that review sometime in the future.