Content deleted Content added
Assessment: Computing: class=C, software=y, software-importance=High, science=y, science-importance=High; Computer science: class=C (assisted) |
|||
Line 339:
:This article was started in 2003 and was well developed by 2009 when the book was published. It is possible that the book copied Wikipedia. ~[[User:Kvng|Kvng]] ([[User talk:Kvng|talk]]) 00:04, 22 September 2018 (UTC)
::Actually, the book was [https://www.amazon.ca/Head-First-Design-Patterns-Brain-Friendly/dp/0596007124 first published in 2004]. But I would suspect that the book is quoting directly from the original GoF book or other more authoritative sources anyway. I did a comparison between the [https://books.google.ca/books?redir_esc=y&id=6oHuKQe3TjQC&q=Provide+an+interface+for+creating+families+of+related+or+dependent+objects+without+specifying+their+concrete+classes.#v=snippet&q=Provide%20an%20interface%20for%20creating%20families%20of%20related%20or%20dependent%20objects%20without%20specifying%20their%20concrete%20classes.&f=false 23 design pattern descriptions in the GoF book] and the descriptions in the table in the article, and there are a lot of close matches. (I didn't look at any other sources yet.) I'm not sure how much leeway there is wrt close paraphrasing in this context though, since the GoF definitions are pretty short. [[User:Ahiijny|Ahiijny]] ([[User talk:Ahiijny|talk]]) 19:55, 13 October 2018 (UTC)
::My subjective impressions:
::* 0 = exact match
::* 0.1 = very close match
::* 0.5 = somewhat different
::* 1 = pretty different
::{| class="wikitable"
|-
! Category
! Name
! GoF Diff
! Difference from GoF to Wikipedia article
|-
| Creational || Abstract Factory || 0 ||
|-
| || Builder || 0.5 || changed "so that" to "allowing" and "can create different representations" to "to create various representations"
|-
| || Factory Method || 0.1 || inserted "single"
|-
| || Prototype || 0 + 1 || the first 1.5 clauses are an exact match, but everything after that is new
|-
| || Singleton || 0 ||
|-
| Structural || Adapter || 0.1 + 1 || very close paraphrasing ("Adapter" → "An adapter", "couldn't" → "could not"), but last sentence is new
|-
| || Bridge|| 0.1 || changed "so that" to "allowing" and "can vary" to "to vary"
|-
| || Composite || 0 ||
|-
| || Decorator|| 0.1 || inserted "keeping the same interface"
|-
| || Facade|| 0 ||
|-
| || Flyweight || 0.1 || changed "fine-grained" to "similar"
|-
| || Proxy || 0 ||
|-
| Behavioral || Chain of responsibility || 0 ||
|-
| || Command || 0.5 || changed "thereby letting you parameterize clients with different requests, queue or log requests, and support undoable operations" to "thereby allowing for the parameterization of clients with different requests, and the queuing or logging of requests. It also allows for the support of undoable operations."
|-
| || Interpreter || 0 ||
|-
| || Iterator || 0 ||
|-
| || Mediator|| 0.1 || changed "lets you vary their interaction independently" to "allows their interaction to vary independently"
|-
| || Memento || 0.1 || changed "so that" to "allowing" and "can be" to "to be"
|-
| || Observer || 0.5 || changed "so that when one object changes state, all its dependents are notified and updated automatically" to "where a state change in one object results in all its dependents being notified and updated automatically"
|-
| || State || 0 ||
|-
| || Strategy || 0 ||
|-
| || Template method || 0 ||
|-
| || Visitor || 0.1 || changed "lets you define a new operation" to "lets a new operation be defined"
|} [[User:Ahiijny|Ahiijny]] ([[User talk:Ahiijny|talk]]) 19:55, 13 October 2018 (UTC)
== Moved the Types section to Talk page. ==
|