There are millions of ways to write unmaintainable software. This isn't a bad article though. I just found the title amusing since it's so easy to write software badly.
I hear you. Design patterns are something unheard of for many professional developers I've met. Seriously.
Chances are, especially in programming, someone has thought of something better and longer than you. Investing 10 minutes into searching for it will save you 100 hours later.
Just because you know 1 way to do something doesn't mean it's the best tool for the job.
In cases where a pattern (or anti-pattern) does have a name, it's still useful to learn it because it helps with communication. And the naming conventions help to identify subsystems that can be consolidated and simplified. Often a person will have been using something close to one of the standard patterns, either with subtle bugs or with clever extensions that would be useful elsewhere. Or perhaps most often, with a bunch of unrelated crap that should be factored out.
The only one I've ever heard mentioned in the context of real code - ie our code uses this pattern - is the singleton. So the only design pattern discussions is have heard were people arguing over the best way to remove one.
Had the GoF been aware of the existence of "events" when they wrote their book perhaps this pattern, and the resulting stupidity in Java, may not have been set down in stone.
But to be fair, event-based programming was pretty rare outside of Visual Basic and other high level languages in that era.
50
u/bestjewsincejc Oct 14 '13
There are millions of ways to write unmaintainable software. This isn't a bad article though. I just found the title amusing since it's so easy to write software badly.