Entrega entre interfaz y lógica comercial en Delphi
J Xue (zhuam)[email protected]
Antes de comenzar el desarrollo de software de Delphi, me dedicaba al desarrollo de software Java.
El proyecto reciente se desarrolló con Delphi, así que volví a mirar a Delphi. ¡Cuando desarrollaré y diseño el software! Ah, hablemos menos, ¡vamos al punto!
Delphi es un IDE para el desarrollo rápido de software.
1. Por ejemplo, si quiero insertar un registro en la base de datos, ¡esta es la forma habitual!
Ejemplo de SQL: Inserte en valores de Exppletable1 (Field1, Field2, Field3) (valores1, valores2, valores3)
Ahora suponga que hay tres controles de texto en este formulario Delphi, el nombre es Frist, segundo y tres respectivamente
Aquí uso tres métodos diferentes para insertar datos en la base de datos:
1. Inserte directamente
Cliente ------------> Base de datos
Insertar en los valores de Exppletable1 (Field1, Field2, Field3) (Frist.Text, Second.Text, Three.Text)
2. Inserción indirecta
Cliente --- (Pase de texto) ---> DataClass -------> Base de datos
Significa que los datos del formulario se guardan primero en una clase de datos, y luego el usuario toma los datos de esta clase de datos y transfiere los datos.
Pasar a la base de datos
Aviso:
El control de formulario almacena directamente los datos en la clase de datos DataClass a través del texto.
¡Este DataClass solo se usa para almacenar el estado de datos, y está lleno de atributos y no tiene implementación de lógica comercial!
como sigue:
{------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- -------------------------------------------------- ----
Autor: Zhuam
Fecha: 2004/09/04
Tipo: clase
PROPIEDAD: Toda la información de la AsociatorrunBean Conjunto de colmillo
Descripción: Se utiliza para guardar la información de la licencia de conducir del miembro,
-------------------------------------------------- -------------------------------------------------- ----------------------------
tipo
TassociatorrunBean = class (Tobject)
Privado
Fkilometre: doble;
Fcarnumber: cadena;
FNumber17: cadena;
FCarcolor: String;
FassociatorId: string;
FCarCapacity: String;
Fframenumber: cadena;
FenginEnumber: cadena;
FAVAILABILIDAD DICA: TDATE;
Fregisterdate: tdate;
Fbackpicture: Almage;
FfrontPicture: Timage;
Fleftpicture: Almage;
FrightPicture: Almage;
función getBackPicture: Timage;
función getFrontPicture: Timage;
función getLeftPicture: Timage;
Función GetRightPicture: Timage;
procedimiento setAssociatorId (valor const: string);
procedimiento setavailability date (valor const: tdate);
procedimiento setCackPicture (valor const: tiempo);
procedimiento setCarCapacity (valor const: string);
procedimiento setCarColor (valor const: string);
procedimiento setcarnumber (valor const: string);
procedimiento setenGinEnumber (valor const: string);
procedimiento setframenumber (valor const: string);
procedimiento setFrontPicture (valor const: tiempo);
procedimiento setKilometre (valor const: doble);
procedimiento setleftpicture (valor const: tiempo);
procedimiento setNumber17 (valor const: string);
procedimiento setRegisterDate (valor const: tdate);
procedimiento setRightPicture (valor const: tiempo);
público
constructor crear;
Destructor destruir; anular;
Property AssociatorId: String Read FassociatorId Write SetAssociatorId;
Propiedad Carnumber: cadena Leer fcarnumber setcarnumber;
Propiedad Carcolor: String Read FCarcolor Write SetCarcolor;
Propiedad Carmode: String Read FCarcolor Write SetCarcolor;
PROPIEDAD EngineNumber: String Read FenginEnumber Write SetenGinEnumber;
Propiedad FrameNumber: String Read FFRAMEnumber SETFRAMEnumber;
Propiedad Carcapacidad: String Read FCarCapacity Write SetCarCapacity;
Número de propiedad17: String Read FNumber17 Write SetNumber17;
Kilómetro de propiedad: Leer doble FKILOMETRE SETKILOMETRE;
Propiedad Registro: TDATE Read Fregisterdate Write SetRegisterDate;
Fecha de disponibilidad de propiedades: TDATE Read Favailability Date Write SetVailabilityDate;
PROPIEDAD FrontPicture: Wimage Read GetFrontPicture Write SetFrontPicture;
PROPIEDAD PICTURE: TIMEA LEAD GETBACKPICTURE WRIT SECUPTACTUCTURE;
propiedad LeftPicture: Wimage Read getLeftPicture Write setleftPicture;
PROPIEDAD Right Picture: Wimage Read getRightPicture Write setRightPicture;
fin;
Insertar en los valores de Exppletable1 (Field1, Field2, Field3) (AssociatorrunBean.frist, AssociatorrunBean.Second, AssociatorrunBean.Text)
3. Inserción indirecta
Cliente --- (entrega de propiedades personalizadas) ---> DataClass -------> Base de datos
Significa que los datos del formulario se guardan primero en una clase de datos, y luego el usuario toma los datos de esta clase de datos y transfiere los datos.
Pasar a la base de datos
Aviso:
El control de formulario almacena directamente los datos en la clase de datos (datacLass) a través de una propiedad personalizada.
¡Este DataClass solo se usa para almacenar el estado de datos, y está lleno de atributos y no tiene implementación de lógica comercial!
Insertar en los valores de Exppletable1 (Field1, Field2, Field3) (AssociatorrunBean.frist, AssociatorrunBean.Second, AssociatorrunBean.Text)
Hablando de esto, alguien me preguntará, ¿cuál es el significado de darse cuenta de esta manera! ¡Los camaradas cuidadosos pueden haberlo notado!
Esta es una forma de separar la interfaz Delphi de la lógica de negocios.