Buongiorno!
Sto cercando di calcolare l'area di un parallelogramma e ho definito a tale scopo tre classi che riporto:

codice:
public class Parallelogramma {
      private double base, altezza;
      public Parallelogramma(double base, double altezza) { 
             this.base = base;
             this.altezza = altezza;
      } 
     
      public double area() {
             return Geometry2DUtils.areaParallelogramma(base, altezza);
      }
      public double getBase()    { return base; }
      public double getAltezza() { return altezza; }
}
la classe Parallelogramma utilizza la classe Geometry2Dutils che definisco qui:
codice:
public class Geometry2DUtils {
      public static final double PiGreco = 3.141592;
     
      public static double areaParallelogramma(double base, double altezza) {
             return base*altezza;
      }
 
      public static double areaCerchio(double r) {
             return PiGreco * r * r;
      }
}
Il problema che ho è nel metodo main seguente:

codice:
public class Main {
   public static void main(String[] args) {
      
      Parallelogramma p = new Parallelogramma(4.0, 8.0);
      Parallelogramma p1 = new Parallelogramma(11.0, 18.0);
      double pArea  = p.area();  // assegna a pArea 4*8
      double p1Area = p1.area(); // assegna a p1Area 11*18
      
  }
}
lo stesso risultato si potrebbe ottenere anziché definire un oggetto Parallelogramma, utilizzare il metodo statico double spArea = Geometry2DUtils.areaParallelogramma(p.getBase(),p.getAltezza()).
La mia domanda è: a livello di design del software qual è la migliore soluzione?


Grazie e buona giornata
tulipan