Errors and the printings in which they were fixed.
14th Printing (December 1997)
p. 69
In the code for PreorderIterator::Next(), the statement
_iterators.Push(i); was omitted. It should come
immediately after i->First(); like so:
void PreorderIterator::Next () {
Iterator* i =
_iterators.Top()->CurrentItem()->CreateIterator();
i->First();
_iterators.Push(i);
while (
_iterators.Size() > 0 && _iterators.Top()->IsDone()
) {
delete _iterators.Pop();
_iterators.Top()->Next();
}
}
10th Printing (April 1997)
p. 94
"^ Maze new addRoom: r1; addRoom: r2; yourself" ->
should be
"^ Maze new addRoom: room1; addRoom: room2; yourself"
The arrow labeled "subjects" in the diagram should have a black ball
on the end.
3rd Printing (May 1995)
p. 297
"...to let the observer know which observer is sending
the notification."
should be
"...to let the observer know which subject is sending
the notification."
2nd Printing (December 1994)
p. 12, inside-back cover
The "spaghetti" diagram changed slightly to include an arrow
labeled "sharing states" from State to Flyweight.
pp. 175, 195, 196, 202
Some lines on these pages did not print correctly. (Well they
did, but with width 1 at 2200 dpi. If you squint really hard
you might just be able to see them!) Here's what they should look like (24KB
PDF).