Strictly based on my experience with too much Java and programmers with
too little experience in OO and patterns, I would make a case for
Singleton and Factory Method. In combination, the two can turn any
system into an ugly procedural-oriented mess, and as Jan notes, much
thread-related grief. The power of private constructor and public static
methods is great, but that way lies the Dark Side. These same systems
will show virtually no use of Observer.
In a more serious vein, Iterator seems widespread, especially with its
explicit adoption in the Java container classes.
s
devendermarri wrote:
Hi Jan,
SingeltonPattern may not be there in top 10, bcos of the complexities it
posses in multi-threading programming
and also in c++. This object should be made atomic and synchronized so that
multi-threading operations
does not corrupt the data. Singelton makes the design easy but it also at
increased coupling and hard to maintain issues. I see most people tempted to
reduce the complexity of there design by using singelton. I think singelton
will be on the top for anti-patterns.
Thanks
Regards.
----- Original Message -----
From: "Jan Hannemann" <[EMAIL PROTECTED]>
To: <[email protected]>
Sent: Wednesday, July 06, 2005 5:03 AM
Subject: [patterns-discussion] Which patterns are more frequently used?
I'm wondering which patterns are actually used more frequently than others
in practice(*). In particular, I'd like to know which the top-5 (or
top-10)
Gang-of-Four patterns(**) are in terms of number of pattern instances
found
in practice. I do realize that this is hard to determine objectively, but
subjective rankings are fine, too.
For example, I think it is pretty clear that Interpreter is less commonly
used in practice than, say, Observer.
Are there by chance even research papers on this topic available? Or on
related topics (empirical study of patterns in the wild)?
Opinions are welcome as well. A few years back I spoke to one of the
authors
of the GoF book and he gave me this informal list of what he thought were
the top-9 according to his experience (most commonly used on top):
Observer
Composite
Singleton
Abstract Factory
Visitor
Adapter
Factory Method
Template Method
Command
Can you confirm this list, or do you have different experiences with
patterns used in practice?
Thanks!
--Jan
PS: To provide some context: my research involves design patterns (in
particular, the GoF patterns) and I want to make sure I focus on patterns
that are actually used in software development.
(*) With "in practice" I mean "in real-word software systems".
(**) I'm only interested in the GoF patterns.
_______________________________________________
patterns-discussion mailing list
[email protected]
http://mail.cs.uiuc.edu/mailman/listinfo/patterns-discussion
_______________________________________________
patterns-discussion mailing list
[email protected]
http://mail.cs.uiuc.edu/mailman/listinfo/patterns-discussion
_______________________________________________
patterns-discussion mailing list
[email protected]
http://mail.cs.uiuc.edu/mailman/listinfo/patterns-discussion