Talk:Software design pattern/Archive 2
| This is an archive of past discussions about Software design pattern. Do not edit the contents of this page. If you wish to start a new discussion or revive an old one, please do so on the current talk page. |
| Archive 1 | Archive 2 | Archive 3 | Archive 4 | Archive 5 |
The title
As stated in the first paragraph, design pattern is more software engineering artifact than computer science. Or choose the third option: computation. — Preceding unsigned comment added by Kejia (talk • contribs) 18:16, 12 December 2010 (UTC)
Making the list its own page
Maybe in the next couple of days unless someone reasonably disagrees. --Daydreamer302000 (talk) 11:29, 8 June 2009 (UTC)
I think Design Patterns should include examples of all language, which is very useful in order to understand the pattern.—Preceding unsigned comment added by 207.46.92.16 (talk • contribs) 02:19, 10 June 2009
Extraneous examples
The many pages for specific Design Patterns have a chronic excess of examples. Many pages are more than 80% example; at least one pattern has examples in 13 languages with a total of 16 examples! While some examples are different in important ways between families of languages (such as strongly-typed versus dynamically-typed), I have a strong feeling that language advocates are adding me-too examples that detract from explaining the particular pattern. I think Java is probably the best example language for OO design patterns since Java examples won't be cluttered with memory-management code but are strongly typed, so it is clear what inherits what. Full disclosure: My own personal languages of choice are C++ and Python and I am not too familiar with Java. I've changed a few algorithm examples from pseudocode to Python when a working Python example could be almost as easy to understand as pseudocode. However, for OO design patterns, I really think a widely-used strongly-typed garbage-collected language is most appropriate, and that leaves me with Java.
If people feel strongly about having examples in every possible language, I would argue that the examples should be forked off onto separate pages or moved to wikibooks. But certainly 16 examples in 13 languages is not the best way to describe the singleton pattern. —Ben FrantzDale (talk) 13:47, 8 April 2009 (UTC)
- I agree with you. Feel free to remove examples that do not add to the explanation of the pattern. --Antonielly (talk) 13:53, 8 April 2009 (UTC)
- say hello to the world — Preceding unsigned comment added by 61.4.76.7 (talk) 03:37, 29 October 2014 (UTC)
- I went ahead and was bold, linking all edits back to this discussion. I'm sure I pissed off a few people, but this really had to be done. I left one example as PHP5 because it was the only concise example. I erased hours and hours of work. Again, if people want to dig it back out, wikibooks is probably a good place for it. Wikipedia should be the tip of the iceburg and shouldn't dwell on language-specifics on these topics unless the specifics are very relevant to the patterns. There are still some pages with long lists of links to implementations in various languages. —Ben FrantzDale (talk) 00:11, 9 April 2009 (UTC)
- I also agree, so many code examples added nothing. Also, this is coherent with Wikipedia is not a How-to guide policy. --Enric Naval (talk) 03:45, 9 April 2009 (UTC)
I just noticed that this has apparently pissed off at least one unregistered user. It wasn't me, but I agree that we should create a place for it withough bombing all that content out of existence. Thanks. 122.29.47.35 (talk) 11:07, 13 April 2009 (UTC) Sorry, I was referring to the Singleton article specifically, but yeah, it applies to all I guess. 122.29.47.35 (talk) 11:08, 13 April 2009 (UTC)
- That would be 61.115.196.46, whose reversion carries the comment "There was an idiot who removed the examples for all languages other than Java. I had depended on this to create singleton for my projects and only to find they were deleted by one idiot.". But it doesn't change the fact that Wikipedia is not a programming textbook. The purpose of these articles should be to explain what design patterns are in general and to explain the specific patterns in general terms, not to provide libraries of source code for cut and paste usage. I have undone their reversion. RossPatterson (talk) 11:31, 13 April 2009 (UTC)
- Seriously. If someone depended upon the examples for their project, they certainly would have understood the Java version and applied it in the language of choice. Unless 61.115.196.46 is just copy/pasting from Wikipedia instead of programming ;-) —Ben FrantzDale (talk) 11:35, 13 April 2009 (UTC)
- Be bold and move them to Wikibooks! If you do, add links to them here. —Ben FrantzDale (talk) 11:35, 13 April 2009 (UTC)
- If you wanted to be bold enough to delete all the examples, you should have also moved them to wiki books. I understand your motivation, but you shouldn't do the destructive work without doing the constructive work in turn. — Preceding unsigned comment added by 192.35.35.34 (talk) 23:59, 12 August 2011 (UTC)
- I'm user 201.253.239.87 now(dynamic IP), I've undone BenFrantzDale's Visitor Pattern revision (Reason: "One is not enough for me (but shorter/minimalistic exampleS would be)" in response to BenFrantzDale's "Removed C++ and D examples. One is enough." and later I found this discussion. I think examples implemented in a language are good for learning, both the language(it shows features about it) and the pattern. I think the examples should have been moved elsewhere(eg. wikibooks) and linked to before removal. —Preceding undated comment added 05:28, 15 April 2009 (UTC).
- I agree wikibooks is probably the best place for these. Knowing the pattern quite well I can't really see any difference between the examples, each has CarElementVisitor and CarElement interfaces/structs and a few classes implementing these. The rest is just baggage which obscure the pattern. I've now copied the examples to wikibooks at [1]. --Salix (talk): 09:05, 15 April 2009 (UTC)
- Great, thanks! That seems like it should keep everyone happy and avoid discarding peoples' hard work. —Ben FrantzDale (talk) 13:21, 15 April 2009 (UTC)
On the Visitor pattern page, i have moved the wikibooks template to the example section, and changed its text to more clearly indicate that there are more examples there. Is it okay to have all the affected pages edited in a similar way? -- Jokes Free4Me (talk) 19:53, 15 April 2009 (UTC)
- Yes, I'd say so. That looks pretty good to me. RossPatterson (talk) 22:38, 15 April 2009 (UTC)
- Looks good. I just rephrased the link to say "Visitor implementations in various languages" which reads better to my eyes. I started the same for Singleton, moving all examples I erased earlier. Great progress! —Ben FrantzDale (talk) 00:47, 16 April 2009 (UTC)
- Can some wise mind add well documented critisms? —Preceding unsigned comment added by 192.193.221.141 (talk) 14:59, 29 April 2009 (UTC)
- Adding link to wikibooks on Observer pattern page —Preceding unsigned comment added by Ariadie (talk • contribs) 08:49, 12 May 2009 (UTC)
Just added POSA2
Hi there, I just added
D, Schmidt (2000). Pattern-Oriented Software Architecture, Volume 2: Patterns for Concurrent and Networked Objects. John Wiley & Sons. ISBN 0-471-60695-2. {{cite book}}: Unknown parameter |coauthors= ignored (|author= suggested) (help)
I believe many of the cuncurrent patterns in the table come from this book, it would be nice to add a column for that. Cheers. 122.29.47.35 (talk) 11:22, 13 April 2009 (UTC)
- Hmm, it would be better to have just POSA and then write e.g. "1" or "2" or "no" in the column. I just added MVC and according to Amazon book search, MVC is in POSA1. Stachelfisch (talk) 20:46, 3 July 2009 (UTC)
Enterprise Integration Patterns
These patterns belong here and should also have their own page in wiki! What do you think? more here: Integration Patterns
- Azbarcea ⇒ talk Fri Jun 11 09:55:24 UTC 2010 —Preceding undated comment added 08:56, 11 June 2010 (UTC).
Paragraph sounds like an ad
The final paragraph of the history section appears to be an advertisement for SOA Design Patterns. I'm not sure that this book even belongs on the page; it certainly doesn't deserve its own paragraph. EvanKroske (talk) 01:49, 19 November 2010 (UTC)
New list appearance
I just refactored the list to remove the gigantic red-block columns that were for books that don't even have a wiki page. One was PoEAA and that only had two patterns. The other was PoSA2, which only had concurrency patterns (and the first two columns had no concurrency patterns). I think what I implemented is the best solution for this, which is 1) to separate out the concurrency patterns into its own table with the primary column being PoSA2, and 2) adding an "Other" column, to list the two references to PoEAA as well as any other books that references that may come along for the patterns that currently have no references. I also changed the blank column cells in the "Other" column to the n/a Template to give a better overall appearance. I hope that these changes are helpful. -- Renesis (talk) 23:11, 17 February 2011 (UTC)
What about Asynchronous Completion Token (ACT)?
I'm just learning this design pattern and I know nothing about it, but it seems to be a standard for handling things in Flex (or some client) that should be processed after completion of a server process.
- "The Asynchronous Completion Token design pattern efficiently dispatches processing actions within a client in response to the
completion of asynchronous operations invoked by the client."
Criticism - Newness
I don't understand this criticism:
The idea may not be as new as suggested by the authors: for instance the Model-View-Controller paradigm is an example of a "pattern" which predates the concept of "design patterns" by several years.
As far as I know, none of the authors claim that they were the first to create the concept of design patterns. Rather, they claim to be the first to document it explicitly and create a lexicon to talk about them. A citation here would be very useful. —Preceding signed comment added by 67.248.242.179 (talk) 01:43, 20 April 2011 (UTC)
Patterns are discovered not invented -- Christopher Alexander (Author "A pattern language" and originator of the idea of a pattern language) — Preceding unsigned comment added by 92.40.253.45 (talk) 21:35, 31 October 2011 (UTC)