Zeitfrage
Bezogen auf dein 1. Diagramm
History ist Creator (Larmann-GRASP) der HistoryEntries.
Es hält eine sortierte Collection der HistoryEntries.
Es sollte deshalb der Experte für die aggregierte Größe der HistoryEntries sein.
Möglicherweise sollte es diese Information nicht als Membervariable halten, sondern über eine Methode jedesmal neu errechnen.
Vielleicht aber doch als Membervariable.
gute Frage. Muss die History die Größe aller aktuellen Entries überhaupt kennen?
das Problem ist, dass wenn ein neuer Eintrag dazukommt, muss ich evtl. einen alten rausschmeißen (oder auch mehrere).
Dazu (habe ich vorgeschlagen) gibt es in der History eine Methode, die ermittelt, welche Einträge geschrieben werden sollen, indem die Methode die Einträge nach der Reihe fragt, wie groß sie sind und dann bei Erreichen der Maximalgröße den Hahn dichtmacht, in dem sie z.B. die überzähligen Einträge aus der Collection entfernt.
Falls nötig, können wir auch eine öffentliche Methode machen, die die Gesamtgröße ermittelt, indem sie wiederum bei, diesmal allen, Einträgen die Größe erfragt, summiert und dem Aufrufer zurückgibt. Also dynamisch, so wie du vorgeschlagen hast. Geht aber auch als Membervariable, die genauso berechnet wird, dann halt immer, wenn sich was an der Collection ändert.
Wenn ich mich recht erinnere hat man mit diesem Wissen schon 5-8% von IBM 486
nicht schlecht. wieviel fehlt uns dann noch zum Bestehen?
gut, dass du mitdiskutierst.