AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Klassendesign - wie umgehen mit bedingten Eigenschaften?
Thema durchsuchen
Ansicht
Themen-Optionen

Klassendesign - wie umgehen mit bedingten Eigenschaften?

Ein Thema von SProske · begonnen am 21. Dez 2015 · letzter Beitrag vom 22. Dez 2015
 
SProske

Registriert seit: 16. Feb 2015
Ort: Halle/S.
116 Beiträge
 
Delphi 10.2 Tokyo Enterprise
 
#1

Klassendesign - wie umgehen mit bedingten Eigenschaften?

  Alt 21. Dez 2015, 12:28
Hallo,

ich habe eine Klasse (für Exportzwecke), in der festgelegt ist, ob eine bestimmte Eigenschaft fest hinterlegt ist oder dynamisch ausgelesen werden soll. Für den Fall der festen Hinterlegung, muss natürlich noch der konkrete Wert hinterlegt sein. Im simpelsten Falle also:

Delphi-Quellcode:
  TFoo = class
  strict private
    FHasFixBar: Boolean;
    FBar: Integer;
  public
    property HasFixBar: Boolean [..];
    property Bar: Integer [..];
  end;
Solange ein fester Wert hinterlegt, ist das alles noch relativ simpel, aber was sollte im dynamischen Fall geschehen:
- Einen Defaultwert für FBar hinterlegen
- Auf Variants umsteigen und NULL hinterlegen
- TFoo hat nur die Eigenschaft HasFixBar und für den Ja-Fall gibt es eine abgeleitete Klasse, die auch Bar hinterlegt hat
- irgendeine viel, viel bessere Lösung

Ich würde Wetten, dass sich zu dieser oder zumindest einer ähnlichen Problematik, schon irgendwer mal sehr viele schlaue Gedanken gemacht hat - allein mir fehlt der Suchansatz.
Ich wäre also für Denkansätze, Links zu schlauen Gedanken, passenden Stichwörtern und einem aussagekräftigerem Threadtitel sehr dankbar.
Sebastian
  Mit Zitat antworten Zitat
 


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 17:36 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz