[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

RE: ::scr Re: Cognitive Friction



> to re-state the problem in alexander's words it is the "system"-ness, the
> methodology that i think is a corruption of the gist. not really in the
> minds of the "Design Patterns" authors, but in those i've met or heard of
> who slavishly apply the patterns without question, who spend their time
> looking for them so as to cry "ha - here is an Observer, here is a
> Decorator", who become so hung up on the learned images they don't
> contemplate the context of the problem.

I've notice people have started to use the things obsessively, now they're
an accepted part of the software engineering world. There's a line of
reasoning that goes "my solution is in the patterns book, so it must be
right", that goes much like the "I have UML diagrams so it must be good"
that was around a few years ago. The trouble is, people remember the
patterns, but jnot the problems they're meant to solve, or their downsides.
Factories and Singletons show up everywhere now. The trouble is, Singletons
turn into global variables all too easily ...

Visitor is another one ... The trouble with it is all the methods end up
being called visit(), so its really important to comment the code properly.
If you're about to be fired, and have a "quirky sense of humor", it can
produce code of true incomprehensibility. On top of that, its overused.
People use it for any vaguely complex algorithm over a tree or graph, but
its only useful when there's really polymorphism to be exploited ...

Simon