Skip to Content.
Sympa Menu

patterns-discussion - Re: [patterns-discussion] Which patterns are more frequently used?

patterns-discussion AT lists.siebelschool.illinois.edu

Subject: General talk about software patterns

List archive

Re: [patterns-discussion] Which patterns are more frequently used?


Chronological Thread 
  • From: "Steven E. Newton" <sen AT cookiehome.com>
  • To: patterns-discussion AT cs.uiuc.edu
  • Subject: Re: [patterns-discussion] Which patterns are more frequently used?
  • Date: Tue, 05 Jul 2005 20:12:34 -0700
  • List-archive: <http://mail.cs.uiuc.edu/pipermail/patterns-discussion>
  • List-id: General talk about software patterns <patterns-discussion.cs.uiuc.edu>

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" <jan AT cs.ubc.ca>
To:
<patterns-discussion AT cs.uiuc.edu>
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
patterns-discussion AT cs.uiuc.edu
http://mail.cs.uiuc.edu/mailman/listinfo/patterns-discussion



_______________________________________________
patterns-discussion mailing list
patterns-discussion AT cs.uiuc.edu
http://mail.cs.uiuc.edu/mailman/listinfo/patterns-discussion





Archive powered by MHonArc 2.6.16.

Top of Page