|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Aug 2008
Città: Firenze
Messaggi: 317
|
[Java] - Rimpiazzare switch-case
Vi spiego il problema.
Ho un progetto che contiene un file Pincopallino.java così strutturato: Codice:
public enum Pincopallino {
A,
B,
C
}
Il mio compito è quello di gestire un oggetto(devo implementare dei metodi astratti) e fargli fare qualcosa a seconda dei casi A, B , C La prima soluzione è stata quella di fare uno switch-case. Questa oltre ad essere una brutta soluzione è anche poco estenfibile,manutenibile ecc... Ho pensato di usare uno Strategy, quindi di rimpiazzare l'enum con un interfaccia e poi creare classi conrete per i vari casi. Il problema è che non posso modificare il codice già esistente e quindi mi tocca tenermi l'enum. Come posso fare? |
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Nov 2005
Messaggi: 2782
|
Dovresti descrivere meglio l'interfaccia che devi implementare e cosa puoi e cosa non puoi modificare. Dalla tua descrizione non ho capito abbastanza bene il problema.
|
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Oct 2006
Città: milano
Messaggi: 1439
|
Guardati qualcosa riguardo l'open-closed principle
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Aug 2003
Città: Barletta (BA)
Messaggi: 939
|
Alcuni risolvono la cosa così: array/dizionario + puntatore funzione
http://www.dotnetperls.com/action-dictionary Altrimenti puoi usare qualche forma di reflection offerta da Java
__________________
In a world without fences, who needs Gates? Power by: Fedora 8 - Mac OS X 10.4.11 Ultima modifica di nico159 : 19-12-2011 alle 19:33. |
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 06:38.



















