AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein Objekte bestimmter Klassen dynamisch erzeugen und freigeben
Thema durchsuchen
Ansicht
Themen-Optionen

Objekte bestimmter Klassen dynamisch erzeugen und freigeben

Ein Thema von Ruediger123 · begonnen am 11. Mai 2017 · letzter Beitrag vom 11. Mai 2017
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

AW: Objekte bestimmter Klassen dynamisch erzeugen und freigeben

  Alt 11. Mai 2017, 13:59
Warum über die RTTI?
Sorry... ich hatte das dynamisch überlesen.
Ich fühle mit dir. Irgendwie erscheinen in letzter Zeit ziemlich oft Threads, zur Lösung von Problemen per RTTI, bei denen ich den starken Verdacht habe, dass sie auch auf "normale" Art und Weise umgesetzt werden könnten. Vielleicht bin ich da noch ein wenig in alten Denkstrukturen gefangen, aber früher hieß es mal, dass übermäßige Verwendung der RTTI fast immer auf ein schwerwiegendes (Klassen-)Designproblem hindeutet (nicht speziell auf diesen Thread bezogen; für manche Sachen ist RTTI ja auch sinnvoll).
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe
Online

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.785 Beiträge
 
Delphi 12 Athens
 
#2

AW: Objekte bestimmter Klassen dynamisch erzeugen und freigeben

  Alt 11. Mai 2017, 14:52
Irgendwie erscheinen in letzter Zeit ziemlich oft Threads, zur Lösung von Problemen per RTTI, bei denen ich den starken Verdacht habe, dass sie auch auf "normale" Art und Weise umgesetzt werden könnten. Vielleicht bin ich da noch ein wenig in alten Denkstrukturen gefangen, aber früher hieß es mal, dass übermäßige Verwendung der RTTI fast immer auf ein schwerwiegendes (Klassen-)Designproblem hindeutet (nicht speziell auf diesen Thread bezogen; für manche Sachen ist RTTI ja auch sinnvoll).
Ich will gar nicht abstreiten, daß die neuen RTTI-Möglichkeiten auch inadäquat eingesetzt werden - allerdings nicht so oft, wie man das aus deinem Kommentar herauslesen kann. Viele Dinge lassen sich nur mit extensiver Kopplung ohne RTTI einsetzen, was vom Design her eher schädlich ist. Ein System zur JSON-Serialisierung zum Beispiel, muss entweder die zu serialisierenden Klassen kennen oder über virtuelle Methoden oder Interfaces die eigentliche Serialisierung in die Klasse selbst oder weitere Hilfsklassen auslagern. Und wenn jetzt einer sagt, dann nimm doch die published Properties - das ist auch RTTI (nur hard-coded und unflexibel) und die benutzen wir wohl alle hier in schöner Regelmäßigkeit schon seit Delphi 1.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#3

AW: Objekte bestimmter Klassen dynamisch erzeugen und freigeben

  Alt 11. Mai 2017, 15:40
Irgendwie erscheinen in letzter Zeit ziemlich oft Threads, zur Lösung von Problemen per RTTI, bei denen ich den starken Verdacht habe, dass sie auch auf "normale" Art und Weise umgesetzt werden könnten. Vielleicht bin ich da noch ein wenig in alten Denkstrukturen gefangen, aber früher hieß es mal, dass übermäßige Verwendung der RTTI fast immer auf ein schwerwiegendes (Klassen-)Designproblem hindeutet (nicht speziell auf diesen Thread bezogen; für manche Sachen ist RTTI ja auch sinnvoll).
Ich will gar nicht abstreiten, daß die neuen RTTI-Möglichkeiten auch inadäquat eingesetzt werden - allerdings nicht so oft, wie man das aus deinem Kommentar herauslesen kann. Viele Dinge lassen sich nur mit extensiver Kopplung ohne RTTI einsetzen, was vom Design her eher schädlich ist.
Ich will die RTTI auch auf gar keinen Fall schlechtreden. Zur Serialisierung benutze ich sie selbst sehr gerne bzw. für eine automatische AssignTo oder Equals Funktion, kann sie auch sehr nützlich sein. Wenn es jetzt aber (wie hier im Beitrag) darum geht ein paar Felder einer sogar bekannten Klasse zu initialisieren, dann .. naja .. das kann man meiner Meinung nach auch manuell machen bzw. bei sehr vielen Feldern ein Array verwenden und die Properties/Setter/Getter über das index Keyword umsetzen.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Antwort Antwort


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 16:58 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