Lieferung zwischen Schnittstelle und Geschäftslogik in Delphi
J XUE (Zhuam)[email protected]
Bevor ich die Development von Delphi begann, habe ich mich mit Java Open Source -Community in Java -Open -Source -Community einsetzt.
Das jüngste Projekt wurde mit Delphi entwickelt, also habe ich mich in einem Monat an Delphi angesehen. Ich habe über 4 Delphi -Bücher gelesen. Wenn ich die Software entwickle und entwerfe! Ah, lass uns weniger reden, lass uns auf den Punkt kommen!
Delphi ist eine IDE für die schnelle Softwareentwicklung.
1. Wenn ich beispielsweise einen Datensatz in die Datenbank einfügen möchte, ist dies der übliche Weg!
SQL -Beispiel: In Explodable1 (Feld1, Feld2, Feld3) Werte (Werte1, Werte2, Werte3) einfügen.
Nehmen wir nun an, es gibt drei Textsteuerungen in diesem Delphi -Form, der Name ist der Robel, die zweite bzw. drei
Hier verwende ich drei verschiedene Methoden, um Daten in die Datenbank einzufügen:
1. direkt einfügen
Client ------------> Datenbank
In exchEPletable1 (Feld1, Feld2, Feld3) Werte (Frist.Text, Second.Text, Three.text) einfügen.
2. Indirekte Insertion
Client --- (Textübergabe) ---> DataClass -------> Datenbank
Dies bedeutet, dass die Formulardaten zuerst in einer Datenklasse gespeichert werden, und dann nimmt der Benutzer die Daten aus dieser Datenklasse und überträgt die Daten.
An die Datenbank übergeben
Beachten:
Die Formularsteuerung speichert Daten direkt über Text in die DataClass -Datenklasse.
Diese DataClass wird nur zum Speichern des Datenzustands verwendet und ist voller Attribute und verfügt über keine Geschäftslogik -Implementierung!
wie folgt:
{--------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ------
Autor: Zhuam
Datum: 2004/09/04
Typ: Klasse
Eigenschaft: Alle Associatorrunbean -Informationssätze Mothed
Beschreibung: Wird verwendet, um die Führerscheininformationen des Mitglieds zu speichern.
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------- -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ----------------------------
Typ
Tassociatorrunbean = Klasse (Tobjekt)
Privat
Fkilometre: doppelt;
Fcarnumber: String;
Fnumber17: String;
Fcarcolor: String;
Fassociatorid: String;
Fcarcapacity: String;
Fframenumber: String;
Fenginenumber: String;
FavoritabilityDate: tdate;
FregisterDate: tdate;
Fbackpicture: Timage;
FFrontpicture: Timage;
FleftPicture: Timage;
SCHRAUFPICTURE: TIMAGE;
Funktion GetbackPicture: Timage;
Funktion getRontpicture: Timage;
Funktion getleftpicture: Timage;
Funktion getrightPicture: Timage;
Prozedur setAssociatorId (const value: String);
Prozedur setAvailabilityDate (const value: tDate);
VerfahrensretBackPicture (const Value: Timage);
Prozedur setCarcapacity (const value: String);
Prozedur setCarcolor (const value: String);
Prozedur setCarnumber (const value: String);
Prozedur setEnenumber (const value: String);
Prozedur setFramEnumber (const value: String);
Prozedur setFrontpicture (const value: timage);
Verfahren setKilometre (const value: double);
Prozedur setleftpicture (const value: timage);
Prozedur setNumber17 (const value: String);
Prozedur setRegisterDate (const value: tDate);
Verfahren setrightPicture (const value: timage);
öffentlich
Konstruktor erstellen;
Zerstörer zerstören; überschreiben;
Property Associatorid: String Read Fassociatorid SetAssociatorid;
Eigenschaft Carnumber: String Lesen Sie FCARNumber Write setCarnumber;
Immobilienkarcolor: String Read FCARCOLOR Write SetCarcolor;
Eigenschaft Carmode: String Lesen Sie FCARCOLOR Write setCarcolor;
Eigenschaft EngineNumber: String Read Fenginenumn Write setEnnenumber;
Eigenschaft FrameNumber: String Lesen Sie fframeNumber write setFramEnnumber;
Eigenschaft Kadazazität: String Lesen Sie FCARCapacity Write setCarcapacity;
Eigenschaftsnummer17: String Fnumber17 SetNumber17;
Eigenschaftskilometer: Doppelte FKILOMETRE SETKILOMETRE;
Property RegisterDate: TDate Read FregisterDate SetRegisterDate;
Immobilienverfügbarkeit: TDate Lesen Sie FavoritabilityDate SetArlabilityDate; // effizientes Datum
Property FrontPicture: Timage Read GetFrontpicture Write setFrontpicture;
Backpicture: Timage Lesen Sie GetBackPicture Write RetBackPicture;
linkPicture immobilien: Timage lesen Getleftpicture Write setleftpicture;
Eigenschaft RightPicture: Timage Lesen Sie GetrightPicture schreiben SetRightPicture;
Ende;
Einfügen in Exampletable1 (Feld1, Feld2, Feld3) Werte (associatorrunbean.frist, associatorrunbean.second, associatorrunbean.text)
1. Indirekte Einfügung
Client --- (benutzerdefinierte Eigenschaftszustellung) ---> DataClass -------> Datenbank
Dies bedeutet, dass die Formulardaten zuerst in einer Datenklasse gespeichert werden, und dann nimmt der Benutzer die Daten aus dieser Datenklasse und überträgt die Daten.
An die Datenbank übergeben
Beachten:
Die Formularsteuerung speichert Daten direkt über eine benutzerdefinierte Eigenschaft (DataClass) Datenklasse.
Diese DataClass wird nur zum Speichern des Datenzustands verwendet und ist voller Attribute und verfügt über keine Geschäftslogik -Implementierung!
Einfügen in Exampletable1 (Feld1, Feld2, Feld3) Werte (associatorrunbean.frist, associatorrunbean.second, associatorrunbean.text)
Apropos, wird mich jemand fragen, was die Bedeutung hat, so zu erkennen! Sorgfältige Kameraden haben es vielleicht bemerkt!
Dies ist eine Möglichkeit, die Delphi -Schnittstelle von der Geschäftslogik zu trennen.