Nel mio progetto ho bisogno di creare oggetti per ogni tipo di Java Math Operator come "Aggiungi", "Substraction", "Moltiplicazione", ecc. E questi operatori dovrebbero essere singleton.Java - istanze di implementazione all'interno di un'interfaccia
Quindi ecco cosa ho intenzione di fare. Definisco l'operatore matematico come un'interfaccia e inserisco tali implementazioni al suo interno poiché non voglio definire classi singleton per ciascun operatore.
public interface MathOperator {
double operate(double a, double b);
MathOperator ADD = new MathOperator(){
@Override
public double operate(double a, double b) {
return a + b;
}
};
MathOperator SUBSTRACT = new MathOperator(){
@Override
public double operate(double a, double b) {
return a - b;
}
};
}
Non vedo molto di tale utilizzo quando eseguo questa operazione su Google. Quindi mi chiedo se questa è una buona pratica e se ci sono approcci migliori e più aggraziati?
sono statici di default –