Sto lavorando a un progetto per l'università in cui stiamo programmando un gioco. In questo gioco possono verificarsi diversi effetti e un effetto può influenzare il comportamento di un altro effetto. Ora una delle idee stava usando un modello composito che all'inizio sembrava una soluzione solida. Il problema più grande qui è che il modo in cui un effetto si comporta dipende dall'effetto con cui è accoppiato e l'unico modo in cui abbiamo visto risolvere questo problema era usare .getClass() o l'istanza di cui vogliamo evitare a tutti i costi.Evitare l'istanza di un modello composito
Quali sono alcuni modi per progettare questo problema?
Edit (un piccolo esempio): Non ho un esempio di codice esplicito ma cercherò di chiarire un po 'con il seguente esempio:
Così il gioco ha granate (che può ovviamente esplodere e causare danni), questa esplosione è vista come un "ExplosionEffect". Il quadrato su cui è posizionata la granata può avere un powerfailure in fase di esecuzione (PowerfailureEffect). ExplosionEffect e PowerfailureEffect possono essere accoppiati e questo fa sì che l'esplosione sia più forte e causi più danni. ExplosionEffect può anche essere associato ad altri effetti che causano un comportamento ancora più diverso del danno da esplosione
Un esempio di codice renderebbe più semplice rispondere alla domanda. –