August 2004
Intermediate to advanced
400 pages
8h 46m
English
Let’s go back to high school for a moment. In algebra class, the instructor began by teaching many different manipulations, such as “add the same value to both sides of the equation” or “the commutative property of addition allows us to swap its operands.” This went on for several weeks, at which point the teacher switched gears and handed you a paragraph that started off, “A train leaves New York heading west. . . .” After the initial panic (the effects of which you may still feel as you read the previous sentence), you settled down and expressed the problem in terms of an algebraic equation. You then applied the rules of algebra to the equation to arrive at an answer.
Design patterns are the word problems of the programming world; ...