Zitat von
Chewie:
Bei Delphi hast du ja die Möglichkeit, diese Setter nach auén zu verstecken und den Zugriff ins Properties zu kapseln.
Hm, ich denke, wenn er sich mehrere Klassen schreibt und sich Gedanken darüber macht, ob man seinen Code noch objektorientiert nennen kann, wird er auch wissen, daß es in Delphi Properties gibt und wie man sie richtig anwendet
Zitat von
dragi:
Ich habe eine Klasse die das schreiben und lesen in die Datenbank übernimmt.
Klingt so, als sei diese Klasse darauf angewiesen, daß man ihr die Personen-Objekte gibt. Sinn von Objektorientierung ist unter anderem Code-Reusing, und was du da hast klingt für mich wenig reusable. Wenn du später deine Personen-Klasse änderst, müsste ja auch die Datenbank-Klasse geändert werden. Ich habe es bisher immer so gehalten, daß ich Datenanbindungen so abstrakt wie möglich gestalte und das eigentliche Verwalten in die Datenklassen auslagere, sodaß diese sich selbst verwalten können. Bei dir würde das bedeuten, daß ich eine Datenbank-Klasse mit einer Methode "GetRecord" hätte, die mir in einer fest definierten Form einen Datensatz aus der Datenbank besorgt und mir Zugriff auf die einzelnen Felder des Datensatzes erlaubt. In der Personen-Klasse würde ich dann auf diese Weise auf die Datenbank zugreifen und klassenintern die Daten auswerten. Das hat den Vorteil, daß ich meine Datenanbindung nicht verändern muss, nur weil sich meine Daten verändert haben, die liest nur stupide etwas aus der Datenbank und legt die Felder frei, und daß ich das gesamte Datenbackend austauschen kann. Gefällt mir meine Datenbank nicht mehr und möchte ich auf
XML umsteigen, schreibe ich meine Datenanbindung neu, baue das alte Interface nach, für den Rest der Anwendung geschieht das somit transparent, und nach einem Neukompilieren läuft alles mit
XML. Des weiteren bleibt meine Datenanbindung wiederverwertbar in einem späteren Projekt, denn da die Daten egal sind, muss ich mir die datenanbindung nicht nochmal neu schreiben, wenn ich statt Personen plötzlich Waren oder Abrechnungen verwalten will.
Sollten meine Mutmaßungen über deine Klassenhierarchie falsch sein, vergiss einfach, was ich gerade sagte