Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Jan 2016
Wieso?
Wenn das direkt im Basistypen vorhanden wäre, würde es doch dem LSP entsprechen. :stupid:
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
26. Jan 2016
Warum?
Weil sich Generics und Interfaces nicht sonderlich doll mögen.
Composition: Aber dann beschneide ich doch den Endbenutzer, außer ich kaufe mir jedes Jahr das neue Bugfix (Delphi) und erweitere mühsam den Code, der eigentlich aus nur einer überschriebenen Methode (oder Event) bestanden hätte.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
25. Jan 2016
Alleine das müsste man in XE8 überschreiben verdecken und wer weiß was zukünftig noch dazu kommt.
Man hat nur Add erweitert (siehe oben), dann benutzt wer Insert und schon war es das.
Selbt List ist geil, da dynamische Arrays ein (defektes) Speichermanagement besitzen und dieses Property somit nicht ReadOnly ist.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
25. Jan 2016
Mit dem Helper und allem drum und dran geht es bei Zeile 20 los, aber OK, nur TList<> sind dennoch 100 Zeilen (330 bis 440)
Alleine der ListHelper von 70 bis 330 und die Events werden in jeder dessen Methode einzeln aufgerufen.
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
25. Jan 2016
Wozu soll man erst einen Wrapper bauen, wo doch das OnBefore die einzige wichtige Funktion ist, die man wirklich in der Liste gebrauchen kann?
Soll ich jetzt dutzende Methoden verpacken und jeweils mit der Check-Methode davor zur Liste umleiten, anstatt nur eine Stelle in der Liste zu haben?
Gerade die generische TList<> hat rein garnichts mehr mit der alten TList zu zun.
Alleine das...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
25. Jan 2016
Wäre halt zu einfach, wenn jemand an die Before-Events gedacht hätte.
Jetzt ist das so, daß man praktisch jede Methode (und die TList<> hat seeeeehhhhrrr Viele davon) überschrieben überdeckt werden müsste.
Und es kommen ständig neue Methoden dazu, die dann deine Überladungen umgehen.
Fazit: Man kann das vergessen und müsste eigentlich selber eine eigene TList schreiben, wo Emba nicht drin...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
25. Jan 2016
In den ersten TList<T> ginge das mit dem Selbermachen noch (halbwegs), aber ich hab jetzt den Code von XE8 gesehn und muß sagen "vergesst" es, denn jede Prozedur einzelne Prozedur zum Hinzufügen, Löschen oder Entfernen separat auf eine eigene TListHelper-Prozedur geht und die wiederzum alle weder in TList noch im Helper überschreibbar (virtual) sind.
Auch werden alle Events und virtuellen...
Forum: Algorithmen, Datenstrukturen und Klassendesign
by himitsu,
23. Jan 2016
Moin,
warum kann man bei diesen komischen Listen nicht vorher prüfen, ob etwas da rein/raus darf?