The cure for Spaghetti++
  • Intrusive data structures instead of containers.
  • Data structures and design patterns represented by pattern classes.
  • Results:
    • Cyclic dependency among classes avoided.
    • Complex inheritance trees eliminated.
    • Generic classes for data structures and patterns.
    • Pointers transparently managed (like in Java).
    • Rapid prototyping (as in Smalltalk).