Livraison entre l'interface et la logique métier à Delphi
J Xue (zhuam)[email protected]
Avant de commencer le développement de logiciels Delphi, j'ai été engagé dans le développement de logiciels Java.
Le projet récent a été développé avec Delphi, j'ai donc regardé Delphi. Quand je développe et concevrai le logiciel! Ah, parlons moins, allons-y!
Delphi est un IDE pour le développement de logiciels rapide.
1. Par exemple, si je veux insérer un enregistrement dans la base de données, c'est la manière habituelle!
Exemple SQL: Insérer dans Exampletable1 (Field1, Field2, Field3) VALEURS (VALEURS1, VALEURS2, VALEURS3)
Supposons maintenant qu'il y ait trois commandes de texte sur cette forme Delphi, le nom est FRIST, deuxième et trois respectivement
Ici, j'utilise trois méthodes différentes pour insérer des données dans la base de données:
1. Insérer directement
Client ------------> Base de données
Insérer dans Exampletable1 (Field1, Field2, Field3) Valeurs (Frist.Text, Second.Text, Three.Text)
2. Insertion indirecte
Client --- (Text Pass) ---> DataClass -------> Base de données
Cela signifie que les données de formulaire sont d'abord enregistrées dans une classe de données, puis l'utilisateur prend les données de cette classe de données et transfère les données.
Passer à la base de données
Avis:
Le contrôle de formulaire stocke directement les données dans la classe de données de la fermeture de données via du texte.
Cette classe de données n'est utilisée que pour stocker l'état de données, et elle est pleine d'attributs et n'a pas d'implémentation de logique métier!
comme suit:
{------------------------------------------------- -------------------------------------------------- --------------------------
Auteur: Zhuam
Date: 2004/09/04
Type: classe
Propriété: Tous les informations Associatorrunoan Set Mothed
Description: Utilisé pour enregistrer les informations de permis de conduire des membres,
-------------------------------------------------- -------------------------------------------------- ----------------------------
taper
Tassociatorrunbean = classe (tobject)
Privé
Fkilomètre: double;
Fcarnuner: String;
FNumber17: String;
FcarColor: String;
Fassociatorid: String;
Fcarcapacity: String;
FframeNumber: String;
FengineNumber: String;
FAVALIBILITÉDATE: TDATE;
FregisterDate: Tdate;
FBACKPICTURE: Timage;
Ffrontpicture: Timage;
FleftPicture: Timage;
Effrayant: Timage;
Fonction GetBackPicture: Timage;
Fonction GetFrontPicture: Timage;
fonction getleftPicture: Timage;
Fonction GetRightPicture: Timage;
Procédure setassociatorid (const Value: String);
Procédure setAvailabilityDate (const Value: Tdate);
Procédure SetBackPicture (const Value: Timage);
Procédure setCarCapacity (const Value: String);
Procédure setCarColor (const Value: String);
procédure setCarnuner (const de valeur: string);
Procédure setEngineNumber (const de valeur: string);
Procédure setFrameNumber (const Value: String);
Procédure setFrontPicture (const Value: Timage);
Procédure setKiloMetre (constamment de const: double);
Procédure SetLeftPicture (const Value: Timage);
Procédure setNumber17 (constamment de valeur: chaîne);
Procédure setRegisterDate (const Value: Tdate);
Procédure setRightPicture (const Value: Timage);
publique
constructeur créé;
Destructor détruise; remplacer;
Propriété Associatorid: String Read Fassociatorid Write Setassociatorid;
Propriété Carnumber: String Read Fcarnumber Write SetCarnumber;
Propriété Carcolor: String Read FcarColor Write SetCarColor;
Property CarMode: String Read FcarColor Write SetCarColor;
Propriété Engendumber: String Read FengineNumber Write SetEngineNumber;
Propriété FrameNumber: String Read FfraMenumber Write SetFrameNumber;
Propriété Carcapacité: chaîne Read fcarcapacity Write SetCarcapacity;
Numéro de propriété17: String Read FNumber17 Write SetNumber17;
Propriété Kilomètre: Double lecture fkilomètre SetkiloMetre;
Registre de propriété: TDATE LIRE FREGISTERDATE SETRESSE
Disponibilité de la propriété: TDate Read FavailabilityDate Write SetAvailabilityDate;
Propriété FrontPicture: Timage Read GetFrontPicture Write SetFrontPicture;
Propriété Backvicture: Timage Read GetBackPicture Write SetBackPicture;
Propriété LeftPicture: Timage Read GetleftPicture Write SetLeftPicture;
Propriété Rightpicture: Timage Read GetRightPicture Write SetRightPicture;
fin;
Insérer dans Exampletable1 (Field1, Field2, Field3) VALEURS (Associatorrunbean.frist, Associatorrunbean.second, Associatorrunbean.Text)
3. Insertion indirecte
Client --- (livraison de propriétés personnalisées) ---> DataClass -------> Base de données
Cela signifie que les données de formulaire sont d'abord enregistrées dans une classe de données, puis l'utilisateur prend les données de cette classe de données et transfère les données.
Passer à la base de données
Avis:
Le contrôle de formulaire stocke directement les données dans la classe de données (DataClass) via une propriété personnalisée.
Cette classe de données n'est utilisée que pour stocker l'état de données, et elle est pleine d'attributs et n'a pas d'implémentation de logique métier!
Insérer dans Exampletable1 (Field1, Field2, Field3) VALEURS (Associatorrunbean.frist, Associatorrunbean.second, Associatorrunbean.Text)
En parlant de cela, quelqu'un me demandera quelle est la signification de réaliser de cette façon! Les camarades prudents l'ont peut-être remarqué!
C'est une façon de séparer l'interface Delphi de la logique métier.