Errors and the printings in which they were fixed.
16th Printing (December 1998)
- p. 142
- Consequences, item 1: Change "Adapter" to "Adaptee" in the following phrase: "...by committing to a concrete Adapter class."
- p. 328
-
In the implementation of DerivedClass::Operation(), the
comment should come after the call to
ParentClass::Operation():
void DerivedClass::Operation () { ParentClass::Operation(); // DerivedClass extended behavior }
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" - pp. 144, 145
- The discussion on pluggable adapters was improved. Here are the updated pages (12KB PDF).
- p. 253
-
if (strcmp(name, _name) != 0) { should be
if (strcmp(name, _name) == 0) {
5th Printing (December 1995)
- p. 94
-
createMaze: aFactory | room1 room2 aDoor | room1 = (aFactory make: #room) number: 1. room2 = (aFactory make: #room) number: 2. aDoor = (aFactory make: #door) from: room1 to: room2. ... should have had assignment statements
createMaze: aFactory | room1 room2 aDoor | room1 := (aFactory make: #room) number: 1. room2 := (aFactory make: #room) number: 2. aDoor := (aFactory make: #door) from: room1 to: room2. - p. 300
- 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).