AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Vorteile von Records gegenüber Objekten

Offene Frage von "JamesTKirk"
Ein Thema von Luckie · begonnen am 6. Mai 2011 · letzter Beitrag vom 12. Mai 2011
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#1

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:15
Das ist keine negative Haltung. Ich habe nur das Stilmittel der Provokation in der Diskussion eingebracht.

Aber bisher wurden nur Vorteile von Records genannt. Wobei ich den Beitrag von himitsu nicht so ganz verstanden habe.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#2

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:19
Aber bisher wurden nur Vorteile von Records genannt.
Wolltest du doch auch wissen, oder?!
Großer Nachteil von Records im Vergleich zu Objekten: Keine Vererbung.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.542 Beiträge
 
Delphi 12 Athens
 
#3

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:23
Großer Nachteil von Records im Vergleich zu Objekten: Keine Vererbung.
Und keine Referenzen/Referenzzählung ... wobei das auch ein Vorteil sein könnte.

Nachteile?: Keine automatischen Konstruktoren (Kann auch als Vorteil gesehen werden)
Die hab ich vor Jahren schon bei Emba beantragt, es wäre ein Leichtes diese zu integrieren (hab denen sogar gesagt wie),
aber die hören ja nie auf mich.
Ein Therapeut entspricht 1024 Gigapeut.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#4

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:24
Das ist keine negative Haltung. Ich habe nur das Stilmittel der Provokation in der Diskussion eingebracht.

Aber bisher wurden nur Vorteile von Records genannt. Wobei ich den Beitrag von himitsu nicht so ganz verstanden habe.
Ich glaube, es hatte sich da ein kleiner Fehler eingeschlichen, oder? (rot = meine Verbesserung)
Nja der Hauptgrund für ObjekteRecords ist die automatische Speicherverwaltung.
Records werden automatisch initialisiert, kopiert und finalisiert. (jedenfalls bei entsprechenden enthaltenen Typen, bei welchen sowas gemacht wird, wie DynArrays, Strings und Interfaces)
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#5

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:28
Darüber bin ich auch gestolpert. Na ja, ich wollte den Unterschied wissen, also eine Gegenüberstellung. Dazu gehören natürlich auch Vorteile von Objekten gegenüber Records.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#6

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:32
Ich denke, dass wenn man simple Datenstrukturen hat und dazu Methoden programmieren will, dann kann man Records hier sehr gut verwenden. Vor allem wenn man generische Methoden schreiben will brauch man entweder einen Record oder eben eine Klasse. Normalen Proceduren/Funktionen kann man das ja leider nicht beibringen. Wenn es dann etwas mehr Logik + Vererbung + Kapselung brauch habe Klassen schon einige Vorteile. Wie heißt es immer so schön: kommt ganz drauf an
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
hanspeter

Registriert seit: 26. Jul 2003
Ort: Leipzig
1.350 Beiträge
 
Delphi XE2 Professional
 
#7

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:51
Ein Nachteil von Records ist sicherlich, das ich die ganze Speicherverwaltung am Hals habe, wenn ich Records in Listen unterbringen will (Siehe VirtualTreeview).

Also GetMem und add Pointer in Liste. Beim Aufräumen freemem nicht vergessen.

Peter
  Mit Zitat antworten Zitat
Benutzerbild von s.h.a.r.k
s.h.a.r.k

Registriert seit: 26. Mai 2004
3.159 Beiträge
 
#8

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:53
Ein Nachteil von Records ist sicherlich, das ich die ganze Speicherverwaltung am Hals habe, wenn ich Records in Listen unterbringen will (Siehe VirtualTreeview).

Also GetMem und add Pointer in Liste. Beim Aufräumen freemem nicht vergessen.

Peter
Für sowas würde ich auf jedenfall Klassen verwenden. Wobei das immer auf die Architektur im Hintergrund ankommt. In dem Fall: DataManager enthält alle Datenobjekte, dann gibts ein FilterManager, der dem VST/VDT/VTV dann nur die passenden anbietet und so eben nur eine Referenz darauf bekommt. Um die Freigabe muss sich der DataManager kümmern.
»Remember, the future maintainer is the person you should be writing code for, not the compiler.« (Nick Hodges)
  Mit Zitat antworten Zitat
Progman

Registriert seit: 31. Aug 2007
Ort: 99974 MHL
695 Beiträge
 
Delphi 10.1 Berlin Starter
 
#9

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:47
Ich finde, vieles kann man mit beiden lösen (TObject oder Record).
Der Unterschied bzw. die Eignung ergibt sich dann, wenn man viele dieser Strukturen verwalten will. Bei Records müsste man ein Array of <meinRecord> verwenden. Wobei dann das Handling (Records löschen, hinzufügen etc.) relativ umständlich ist und man mit SetLength(Array, Count) u.d.gl. arbeiten müsste. In so einem Falle würde ich dann TObject bevorzugen, weil dann einfach eine TList genutzt werden kann (mit ihrem gesamten Funktionsumfang).
Records verwende ich bei fester Anzahl. Da wird das Array of Record nur einmalig auf die richtige Länge gesetzt und jeder Record kann (z.B) aus eine Ini oder XML eingelesen werden, wobei so ein Record einfach die entsprechenden Methoden (zB. LoadFromXML, SaveToXML) selbst beinhalten kann.
Das macht manches einfach einfacher
Karl-Heinz
Populanten von Domizilen mit fragiler, transparenter Aussenstruktur sollten sich von der Translation von gegen Deformierung resistenter Materie distanzieren!
(Wer im Glashaus sitzt sollte nicht mit Steinen werfen)
  Mit Zitat antworten Zitat
Benutzerbild von Deep-Sea
Deep-Sea

Registriert seit: 17. Jan 2007
907 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Vorteile von Records gegenüber Objekten

  Alt 6. Mai 2011, 11:52
Bei Records müsste man ein Array of <meinRecord> verwenden.[...] In so einem Falle würde ich dann TObject bevorzugen, weil dann einfach eine TList genutzt werden kann [...]
Records kann man auch in Listen verwalten - erst recht in generischen?!


@hanspeter:
Ebenfalls nicht, wenn man generische Listen nutzt.
Chris
Die Erfahrung ist ein strenger Schulmeister: Sie prüft uns, bevor sie uns lehrt.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:50 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz