Swiss Army Knife

The anti-pattern is an architecture having a very large functional interface. It is also known as "kitchen sink" anti-pattern.

Symptoms and Consequences

  • Single class that does everything.
  • Single module that does multiple purposes and intent.

Causes

  • Missing architecture planning.
  • Forgotten to profile class/structure.

Refactor Recipe

  • Profile the functional purposes and group them into 1 set per purpose.
  • Refactor them accordingly.