Symptoms

  • A deep class hierarchy. You have to follow 7, 8, 9 or more base classes until you reach "Object"
  • No consitent namespace or package concept
  • Class names, namespace names and membership of classes in namespaces are selected for purely technical reasons and have no equivalent in the business domain
  • Every class exposes lots of public properties and methods
  • Every class on every level can collaborate with every other class in the system

Example

Class Diagram: Spider Web Architecture