Ich arbeite an einem Projekt für die Universität, wo wir ein Spiel programmieren. In diesem Spiel können mehrere Effekte auftreten und ein Effekt kann beeinflussen, wie sich ein anderer Effekt verhält. Jetzt war einer der Idee, ein zusammengesetztes Muster zu verwenden, das zuerst wie eine feste Lösung schien. Das größte Problem hierbei ist, dass die Art und Weise, wie sich ein Effekt verhält, davon abhängt, mit welchem Effekt er gekoppelt ist und die einzige Möglichkeit, dies zu beheben, war die Verwendung von .getClass() oder einer Instanz, die wir um jeden Preis vermeiden wollen.Vermeiden Sie instanceof in einem zusammengesetzten Muster
Wie können Sie dieses Problem beheben?
Edit (ein kleines Beispiel): Ich habe kein explizites Code-Beispiel, aber ich werde versuchen, ein bisschen mit dem folgende Beispiel zu verdeutlichen:
Also das Spiel hat Granaten (die natürlich explodieren können und verursachen, wird diese Explosion als "Explosionseffekt" angesehen. Das Quadrat, auf dem die Granate positioniert ist, kann zur Laufzeit einen Stromausfall haben (PowerfailureEffect). Der Explosionseffekt und der Energieausfalleffekt können gekoppelt werden, wodurch die Explosion stärker wird und mehr Schaden verursacht. Der Explosionseffekt kann auch mit anderen Effekten gekoppelt sein, die bewirken, dass sich der Explosionsschaden noch anders verhält.
Ein Codebeispiel würde es einfacher machen, Ihre Frage zu beantworten. –