Symptom: switch
wird verwendet
class C { int tag; int FOO = 0; void foo () { switch (this.tag) { case FOO: { .. } case 3: { .. } } } }
Ursache: Objekte der Klasse sind nicht ähnlich genug
Abhilfe: Kompositum-Muster
interface C { void foo (); } class Foo implements C { void foo () { .. } } class Bar implements C { void foo () { .. } }