Design Patterns — An Antipattern

There are many True Believers in the concept of design patterns in programming. I’ve watched as people in interviews asked candidates “how have they used design patterns in their jobs.”

The whole thing is nothing but unmitigated bullshit.

Design patterns, the way I understand them, is a way to give developers a common set of nouns and verbs when talking about their designs. A good example that well predates this nonsense are things like linked lists or hash tables. You don’t want to redescribe what a linked list, whether singly or doubly linked, every time you use a data structure like this.

You can go further and say, talk about skip lists. You can describe it as a linked list with additional next and previous pointers.

See, it’s communication.

The problem is that people are treating design patterns like a recipe book. It doesn’t work that way.

You don’t go and ask a candidate when was the last time they made a B* tree. That’s a solution to a problem. It’s not something to use just for the sake of using it.

Previous
Previous

George

Next
Next

Scoping projects