Developers Three Favorite Abstractions/Patterns

These might not actually be the top 3, but I know they are going to be pretty close for most people:

  1. The Call Stack
  2. The Transaction
  3. The Layers Pattern

The first two are interesting in that they imply a specific paradigm of programming (whether good or bad), which is easy to implement and easy to think about, but ultimately, makes for a very poor choice in certain situations (yes, I’m being vague to stay out of a rabbit trail).

The 3rd I’ll pick on because without using the Layers pattern, most developers would be completely and utterly lost.  In fact, this one is so in-grained, that many developers don’t even realize it’s a pattern. So much for being pattern averse.  Can you actually make an informed choice when you know of only one option?

Taxonomy of Interaction Models