Design-Frage
-
hallo,
meine komplette Engine ist in OOP realisiert und ich möchte jetzt zu Vereinfachung noch einige mathematischen Funktionen hinzufügen. Aber jetzt frage ich mich, ob man das in eine oder mehrere Klassen verpacken sollte! Bei bestimmten Sachen ist es klar, wie bei Klassen wie Box,Vector,Sphere...
Aber andere Sachen wie z.B. eine Funktion zum erstellen von zufälligen Zahlen in einem bestimmten Zahlenbereich usw. Wie sollte man das am besten machen? Eine Funktion? Eine Klasse Math, wo dann alle anderen Methoden statisch sind?
-
java machts in Math.
oo wäre natürlich in int oder double oder so.
-
was bitte schön? Ich habe das jetzt nicht so ganz verstanden!
-
Original erstellt von <SlimTimmy>:
was bitte schön? Ich habe das jetzt nicht so ganz verstanden!random() ist erstmal zu schwierig.
ich machs mal an sqrt fest.
das sollte iene methode von double sein.
alsodouble const double::sqrt() const;
oder sowas.
wenn du sie aber in einer klasse names math völlig deplazieren willst wie
static double const math::sqrt(double x);
, dann kannste auch globale funktionen nehmen, da sind sie ehrlicher aufgehoben als in ner klasse math.
-
Ich würde es in einen Namespace legen. Die Idee mit lauter statischen Methoden in einer Klasse ist doch schwachsinn.
-
aber dort könnte man auch noch andere Dinge wie LUTs unterbringen und so.
-
wer ist luts?
-
Look Up Table
-
Original erstellt von <SlimTimmy>:
Look Up Tableleben luts nicht als lokale static-arrays in funktionen drinne? ach, zu lahm. jo, dann können sie natürlich in nen namespace rein, um nicht ganz global rumzuliegen. oder in ne klasse. in der klasse wären sie fein read-only zu machen. welch erfreulicher gedanke.
mir scheint, luts fühlen sich in klassen wohl.