Kapselung Klassen verschachteln?

2XS

Mitglied
Hallo,

ich habe mal wieder eine Frage. 😳

Ist-Zustand: Ich habe, unter Anderem, 2 Klassen, eine SetOfDice (mehr oder weniger eine ArrayList gefüllt mit verschiedenen Würfelobjekten) und eine Klasse Combinations, welche ein SetOfDice übergeben bekommt und ein 2 Dimensionales Array mit allen Würfelkombinationen errechnet und noch ein paar Sachen mehr kann.
Es funktioniert auch eigentlich alles wie es soll.

Nun zur Frage: Da Combinations ja eh nur mit SetOfDice funktioniert und logisch betrachtet ja auch eigentlich ein Teil von SetOfDice ist sollte Combinations doch in SetOfDice verschachtelt werden, oder?


Oder je mehr ich darüber nachdenke komme ich zu dem Schluss, dass Combinations eigentlich gar keine eigene Klasse sein sollte sondern ein Attribut (das 2 dimensionale Array) und ein paar Methoden (Initialisierung, Sortierung und Ausgabe des Arrays) von SetOfDice.


Was sagt ihr dazu? Kann man zu viele Klassen haben? Wann ist es sinnvoll eine neue Klasse zu "bauen"? Oder sollte man bei einem kleinen Projekt von unter 1000 Zeilen einfach alles in eine Klasse packen?
Potenzial zur Mehrfachverwendung sehe ich momentan eh nur bei 2 Klassen in dem Projekt.


Grüße,

Andy


P.S.: Bin für jeden Denkanstoß dankbar.
 
Zuletzt bearbeitet:
Wenn dein Programm recht primitiv ist (scheint so) reicht eine Klasse vollkommen aus.
Mehrere Klassen sind zum Beispiel sinnvoll wenn du Objekte mit benutzerdefinierten Instanzvariablen und Methoden brauchst, solange eine andere Klasse die Methoden hat, die du brauchst, oder dein Programm nur klein ist, dann kannst du alle Methoden in eine Klasse packen.
 
Ganz klar: Das kommt drauf an! 😉

Wer soll diese "Combinations"-Klasse wie verwenden können? Hat sie einen Zustand, oder bietet sie nur static Utility methods an? Wer soll DIE ggf. aufrufen können? ...
 
Momentan wird Combinations nur von der Klasse SetOfDice verwendet. Das wird sich wohl auch nicht ändern, da alle Methoden von Combinations auf SetOfDice zugeschnitten sind.

Werde Combinations auflösen und einfach in SetOfDice integrieren. Das passt irgendwie auch besser in meine Logik.


Grüße,

Andy
 

Zurück
Oben