AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Mehrere unterschiedliche Objektersteller alle als 'Create'?
Thema durchsuchen
Ansicht
Themen-Optionen

Mehrere unterschiedliche Objektersteller alle als 'Create'?

Ein Thema von Mikkey · begonnen am 10. Okt 2013 · letzter Beitrag vom 11. Okt 2013
 
Furtbichler
(Gast)

n/a Beiträge
 
#8

AW: Mehrere unterschiedliche Objektersteller alle als 'Create'?

  Alt 10. Okt 2013, 18:53
Wenn ich eine Initialize-Methode veröffentliche, habe ich das Risiko, dass die eben nicht nur unmittelbar nach dem Erzeugen des Objekts aufgerufen wird, sondern auch danach noch.
Das ist richtig. Aber das kannst Du ja sicherstellen. Ich kann doch ein Objekt instantiieren und erst später zum Gebrauch Initialisieren.

Delphi-Quellcode:
Constructor TMyClass.Create(ImportantValues : TSetOfValues);
Begin
  ThisAndThat := ImportValues;
  Initialized := False;
End;

procedure TMyClass.LoadFromDatabase(...);
Begin
  If Initialized then Raise Exception.Create("Object allready initialized");
  Database.Load(Self);
  Initialized := true;
End;
Ist jetzt nicht so kompliziert. Ich kann deinen Einwand aber nachvollziehen. Das Belegen mit Initialwerten gehört in den Konstruktor, denn damit wird das Verhalten der Instanz definiert.

Das Laden aus einer Datenbank gehört eindeutig nicht dort hin. Es ist zudem viel schlechter testbar.
  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 02:20 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