Re: How is this "pattern" called?
Wanja Gayk wrote:
Arne Vajh??j wrote:
Gene Wirchenko wrote:
With the amount of noise over patterns though, you would think
that many people need the patterns. For me, supporting an in-house
application, there is no or little need.
Or you have not realized the need.
Or both of you are looking at it from the wrong perspective.
The argument is over "patterns" in the GoF sense, a highly bureaucratized,
overly-verbose and religiously canonical set of labels and formats to describe
them. But even amidst all the sturm und drang over the latter kind of
patterns, they provide value in a common terminology and informal use. So when
we discuss Visitor or Singleton, we all know what we mean. ("We" being
competent programmers. One occasionally sees posters here who are less
I guess that's one of the most common misconceptions. Some people seem
to think that patterns are used, because they are considered cool and
fancy. While in the real world you use any certain pattern because and
only when it solves your problem.
I have seldomly seen a visitor pattern in the wild, because there are
not so many occasions where it's so considerably better than something
that is easier to understand to make it worth using.
But the strategy pattern is used everywhere, everytime you use a
Comparator for example, simply because it solves a very common problem
Someone who has actually read up on patterns will find that every pattern
document includes the motivation or scenarios for which the pattern applies.
No pattern is claimed to be universally applicable, or offered as "cool", but
always as relevant for a particular type of situation.
Part of knowing about patterns is learning to discern when one is useful and
when it isn't.
Any competent programmer who claims not to use patterns is lying, or at best
being disingenuous. One might not use them literally in the GoF style, but
they are there. As others in this thread have pointed out, if you program for
Swing or use almost anything in the standard API, you're using patterns even
if only those imposed on you by the API writer (e.g., MVC). Patterns in the
general sense are at the heart of effective programming. (Patterns in the
formal, strictly GoF-imitative sense not so much.)
Honi soit qui mal y pense.