There is so much talking about buzzy Design Patterns. But honestly, who cares. We don't need MVC as long as it works. What is Flyweight? And definitely no need to decorate anything, this is a factory.

But unless you already found the perfect way to eliminate code beauty and readability, I put up this short list of common antipatterns. Use or avoid them, it's up to you.


A blend of the words Model, View and Controller, mostly found in big, monolitgic, uncommented source files. Hard to maintain and impossible to test, yet it feels quite natural to do it that way. The usage is simple: just put everything in one file, write it doen as you think it. No classes, no references, just code. Don't write methods. The core advantages are:

  • No need for third-party code-scrambles
  • Looks impressive in an editor with green background and black font


Why bother writing even one line of code that is reusable? Exactly, just burn down this useless Factory-Pattern, and replace it with the fancy Manufactory pattern. In case you never heard of the factory-pattern, you are lucky. Else, try to forget it, and forget Object Orientation too.. Advantages are:

  • Many.


Nobody, really no one likes to deal with references or pointers. So it's save to assume that there are enough resources to store everything in-place. And of course, this is a very secure approach. No pointers = no danger. Advantages:

  • No need to use strange facilities like References ever again.


Exactly, not singleton, it's globalton. Why? Well, it's pretty clear to me. There is no good reason for using global variables. Of course, some are saying it decreases portability and reusability. I don't care. Just put everything you need in a global scope. If the language you are using doesn't support that feature, use another one. Really. Advantages:

  • Easier.

If you know some more antipatterns, please let me know, I'd be glad to know as many as possible.