Errata
The errata list is a list of errors and their corrections that were found after the product was released.
The following errata were submitted by our customers and have not yet been approved or disproved by the author or editor. They solely represent the opinion of the customer.
Color Key: Serious technical mistake Minor technical mistake Language or formatting error Typo Question Note Update
Version | Location | Description | Submitted by | Date submitted |
---|---|---|---|---|
ePub | Page 15 1st paragraph under "Abstract Classes" subtitle |
(one your can instantiate) |
Anonymous | Dec 11, 2012 |
Printed | Page 23 3rd paragraph, last sentence. |
The last sentence contradicts what was said previously in the paragraph. It should say "However, *a concrete* class can consist of nothing but concrete methods." |
Stuart Maynes | Mar 30, 2013 |
Printed | Page 25 2nd paragraph |
"[...] in addition to implementing the three methods [...] the [...] class includes a third method [...]." should read "[...] in addition to implementing the three methods [...] the [...] class includes a fourth method [...]." |
Carsten Dietzel | Jan 11, 2016 |
Page 32 3rd paragraph |
The sentence "Of course, all constructor methods are public" is false. If perfectly feasible to have a class with a private constructor or protected constructor. |
joan llosas | Mar 11, 2013 | |
Printed | Page 51 Last sentence that ends with a colon |
I believe methods should be substituted for classes in the following sentence: |
Anonymous | Dec 07, 2014 |
Printed | Page 60 Figure 4.1 |
The text before this figure 4.1 claims that interfaces are written in italics, and that concrete classes are in bold Roman text. I can see absolutely no difference in these classes. They're all in bold. If some are supposedly in italics then they are so slight that they are indistinguishable from anything else. |
Anonymous | Apr 23, 2020 |
Printed | Page 63 Last paragraph |
The first paragraph of "Relationship Notations" is the same as the last of "Participant Symbols" ("Pseudocode annotations provide further information..."). The actual first paragraph of "Relationship Notations" seems to be missing. |
Carsten Dietzel | Jan 12, 2016 |
Printed | Page 66 First paragraph of Aggregation Relationship |
In the middle of this paragraph there is this "... aggregation implies that an aggregate object and its owner have identical lifetimes." Every other reference I find says that in aggregation relations the dependent object is independent and can live after the containing object is deleted. |
Wyckham Seelig | Dec 05, 2022 |
Printed | Page 67 Last paragraph of page |
The last line of this paragraph says that "For example, a client making a request would include a ConcreteStrategyA:" |
Wyckham Seelig | Dec 05, 2022 |
Printed | Page 68 Second paragraph |
I came up with this explanation of the difference between composition and aggregation and wonder if it is even close to being correct: |
Wyckham Seelig | Dec 05, 2022 |
Printed | Page 81-83 Last but one sentence under the heading "A Mimimalist Example" |
Unclear sentence: "one displaying ... and the other ..." |
widheg | Sep 21, 2017 |
Page 85 line 10, first bloc of code |
Following the HTML5 dradt from w3 the doctype declaration consists of "A string that is an ASCII case-insensitive match for the string "<!DOCTYPE"." |
joan llosas | Mar 11, 2013 | |
Page 91 Creator.php, after 2nd paragraph |
The method doFactory is stated in text below as startFacrory. |
Anonymous | Apr 01, 2013 | |
Other Digital Version | 91 "The New Factories", 2nd Paragraph |
The paragraph states "both the factoryMethod() and the startFactory() operations expect a parameter." The code snippet does not have a startFactory() method. It should be doFactory(). This is the Kindle version of the book as of December 25, 2021. |
Anonymous | Dec 25, 2021 |
Page 94 last line |
method named addTop |
joanllosas | Mar 13, 2013 | |
Page 96 Figure 5-6 |
MailProduct.php must be MaliProduct.php |
joanllosas | Mar 13, 2013 | |
Printed | Page 101 The PHP code |
It is confusing to name a class "CloneMe". Classes should be named as nouns, not verbs. |
widheg | Sep 21, 2017 |
Page 107 function showFLy |
$genderNow=$fly::gender; |
KLAKS5G | Feb 10, 2014 | |
Printed, PDF | Page 109 Last paragraph (non-Code). |
Sentence begins, "Not that all of the properties are protected...". It should read, "Note that all of the properties are protected." Further suggestion, this is a comma splice, and therefore it is recommended to revise the sentence to: "Note that all of the properties are protected. So even though the concrete getters and setters have public visibility, the protected visibility of the properties used in the operations affords a degree of encapsulation:". |
Joshua Eldridge | Feb 14, 2014 |
Page 115 function showEmployee() |
echo $employeeNow->getDept().": " . $employeeNow::UNIT . "<br/>"; |
Klaks5G | Feb 10, 2014 | |
Page 131 2 |
see: |
Anonymous | Apr 11, 2013 | |
Page 142 Figure 8-1 |
Decorator name must be in italic as said in the text: "Decorator is one of the few design patterns that includes one abstract |
joan llosas | Mar 13, 2013 | |
Printed, PDF, ePub | Page 146 Last paragraph |
The first sentence of the last paragraph reads, "If you look at the concrete constructor, you will see that it looks almost identical to the decorators." |
Joshua E. | Jan 30, 2014 |
Page 147 2 |
"class Video extends IComponent" |
Bru | Apr 20, 2013 | |
Page 155 2 |
$this->ageGroup=$this->ageGroup; |
Bru | Apr 21, 2013 | |
Page 163 bottom of page |
private $progLange; |
Bru | Apr 24, 2013 | |
Page 182 bottom of page - HTML listing |
</head> tag is missing |
Bru | Apr 26, 2013 | |
Page 222 code sample IConnectInfo.php |
Saving connection data to a database in an interface is a very bad idea. This bad idea begins with the false assumption that this data is constant. And this data is not constant! The pattern to use in those situations is Dependency Injection, badly not explained in this book. Mi?ko Hevery, quoted in some places in the book, talks a lot about DI in his blog (http://misko.hevery.com/). |
joan llosas | Mar 14, 2013 | |
Page 224 top of page |
to execute |
Bru | May 10, 2013 | |
Printed, PDF, ePub | Page 225 Top of Page |
To fix the following error: |
Francisco Mateo | Jul 28, 2014 |
Page 265 Top |
The name of the ConcreteStrategy DisplayData changes through the chaper to DisplayAll. |
jean claude a-dam | Oct 03, 2013 |