Errata for Design Patterns

Errors and the printings in which they were fixed.

10th Printing (April 1997)

pp 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).

pp 253
if (strcmp(name, _name) != 0) {

should be

if (strcmp(name, _name) == 0) {

5th Printing (December 1995)

pp 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.

pp 300
The arrow labeled "subjects" in the diagram should have a black ball on the end.

3rd Printing (May 1995)

pp 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)

pp 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 carefully at your copy, you might just be able to see them!) Here's what they should look like (24KB PDF).


Back to Design Patterns
Back to Patterns Home Page