Einzelnen Beitrag anzeigen

bttb930

Registriert seit: 6. Okt 2003
372 Beiträge
 
#2

Re: Frage zu OOP - zwei Listen

  Alt 17. Sep 2006, 23:34
Du musst die Verantwortung klären: Welche Klasse ist Besitzer von TElement und welche Klasse verweist nur darauf?

Ich würde vermutlich TElementList zum Besitzer von TElement-Instanzen küren. TGraphicObject enthält dann nur Zeiger auf diese Elemente, ist aber nicht Besitzer.

Das heißt: TGraphicObject gibt ein TElement nicht automatisch im Destruktor frei.

Alternativ könnte TGraphicObject der Besitzer sein, dann wäre TElementList aber evtl. überflüssig (und stattdessen TGraphicObjectList gefragt).

By the way: Sieh Dir vielleicht mal Bücher zum Thema Entwurfsmuster (Design Patterns) an. Es gibt für derartige Probleme schon fertige design patterns, die man nur anwenden muss. Könnte dir - in der Zukunft - das eine oder andere Problem ersparen. Jedenfalls sieht die Klasse TGraphicObject sehr gut aus (weit über dem Niveau dessen was man hier sonst so sieht), sieht aber trotzdem nicht sehr zukunftsfähig aus. Du mischst zuviel, den TGraphicType könntest Du entfernen und stattdessen mit einer abstrakten Basisklasse und Vererbung arbeiten. Und es könnte auch sein, dass die Paint-Methode besser nicht in der Klasse selbst angesiedelt ist, sondern dass Du externe Painter baust. So könntest Du verschiedene Painter für verschiedene Answendungsgebiete bauen.

Hört sich alles kompliziert an, ist am Anfang auch nicht so leicht - schau mal ob Entwurfsmuster was für dich sind und wenn ja, dann lerne sie langsam und versuche an solchen Beispielen durchzusteigen.
  Mit Zitat antworten Zitat