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 () { .. } }