델파이의 인터페이스와 비즈니스 로직 사이의 전달
J Xue (zhuam)[email protected]
델파이 소프트웨어 개발을 시작하기 전에 Java 오픈 소스 커뮤니티에서 많은 소프트웨어 디자인 이상을 배웠습니다.
최근 프로젝트는 Delphi와 함께 개발되었으므로 Delphi 프로젝트에 대해 4 개를 읽었습니다 소프트웨어를 개발하고 설계 할 때! 아, 덜 이야기합시다.
Delphi는 일반적으로 빠른 소프트웨어 개발을위한 IDE입니다. 프로그래머는 먼저보기 (인터페이스)를 그린 다음 해당 이벤트에서 소스 코드를 작성하여 예를보십시오.
1. 예를 들어, 데이터베이스에 레코드를 삽입하려면 이것이 일반적인 방법입니다!
SQL 예 : exampletable1 (Field1, Field2, Field3)에 삽입
이제이 델파이 양식에 세 가지 텍스트 컨트롤이 있다고 가정 해
여기서는 데이터베이스에 데이터를 삽입하기 위해 세 가지 방법을 사용합니다.
1. 직접 삽입하십시오
클라이언트 ------------> 데이터베이스
exampletable1 (Field1, Field2, Field3) 값에 삽입
2. 간접 삽입
클라이언트 --- (텍스트 패스) ---> Dataclass ------> 데이터베이스
이는 양식 데이터가 먼저 데이터 클래스에 저장된 다음 사용자 가이 데이터 클래스에서 데이터를 가져와 데이터를 전송한다는 것을 의미합니다.
데이터베이스로 전달하십시오
알아채다:
양식 컨트롤은 텍스트를 통해 데이터를 데이터 클래스 데이터 클래스에 직접 저장합니다.
이 데이터 클래스는 데이터 상태를 저장하는 데만 사용되며 속성으로 가득 차 있으며 비즈니스 로직 구현이 없습니다!
다음과 같이 :
{--------------------------------------------------------- --------------------------------------------------------- -----------------------------
저자 : Zhuam
날짜 : 2004/09/04
유형 : 클래스
속성 : 모든 Associatorrunbean 정보 세트 Mothed
설명 : 회원의 운전 면허 정보를 저장하는 데 사용됩니다.
--------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- --------------------------------------------------------- ------
유형
tassociatorrunbean = class (tobject)
사적인
fkilometre : 더블;
fcarnumber : 문자열;
fnumber17 : 문자열;
fcarcolor : 문자열;
fassociatorid : 문자열;
fcarcapacity : 문자열;
fframenumber : 문자열;
FengineNumber : 문자열;
favailabilitydate : tdate;
fregisterdate : tdate;
fbackpicture : 시계;
ffrontpicture : 시계;
FleftPicture : 시계;
Frightpicture : 시계;
함수 getbackpicture : 타임 지;
기능 getfrontpicture : 타임;
기능 getleftpicture : 타임;
기능 getrightpicture : 시계;
절차 setassociatorid (const 값 : String);
절차 setAvailabilityDate (const value : tdate);
절차 wetbackpicture (const 값 : 시계);
절차 setCarCapication (const value : String);
절차 setCarcolor (const 값 : String);
절차 setCarnumber (const value : String);
절차 setEngineNumber (const value : String);
절차 setFramEnumber (const 값 : String);
절차 setfrontpicture (const 값 : 시계);
절차 setKilometre (const 값 : double);
절차 setleftPicture (const 값 : 시계);
절차 setNumber17 (const 값 : String);
절차 setRegisterDate (const value : tdate);
절차 setrightPicture (const 값 : 시계);
공공의
생성자 생성;
파괴자 파괴; 재정의;
Property AssociatorID : String read fassociatorid write setassociatorid;
속성 Carnumber : 문자열 읽기 fcarnumber write setcarnumber;
속성 발암기 : 문자열 읽기 fcarcolor write setcarcolor;
속성 카 모드 : 문자열 읽기 fcarcolor write setcarcolor;
속성 EnginEnumber : 문자열 읽기 FengineNumber 쓰기 SetEngineNumber;
속성 프레임버 : 문자열 읽기 fframenumber 쓰기 setframenumber;
속성 발병 : 문자열 읽기 fcarcapacity write setcarcapication;
속성 번호 17 : 문자열 읽기 fnumber17 write setnumber17;
속성 킬로미터 : Fkilometre 쓰기 SetKilometre를 두 번 읽습니다
Property RegisterDate : tdate는 fregisterdate write setRegisterDate ;/ 등록 날짜입니다
속성 가용성 데이터 : tdate favailabilitydate write setavailabilitydate ;/ 효율적인 날짜
속성 프론트 픽처 : 시계 읽기 getfrontPicture 쓰기 세트 프론트 픽처;
속성 배경 : 시계 읽기 getbackpicture write setbackpicture;
속성 LeftPicture : Timage Read GetLeftPicture Write SetleftPicture;
속성 RightPicture : 시계 읽기 GetrightPicture 쓰기 SetrightPicture;
끝;
exampletable1 (Field1, Field2, Field3) 값에 삽입 (AssociatorRunbean.frist, AssociatorRunbean.second, AssociatorRunbean.text)
3. 간접 삽입
클라이언트 --- (Custom Property Delivery) ---> Dataclass ------> 데이터베이스
이는 양식 데이터가 먼저 데이터 클래스에 저장된 다음 사용자 가이 데이터 클래스에서 데이터를 가져와 데이터를 전송한다는 것을 의미합니다.
데이터베이스로 전달하십시오
알아채다:
양식 컨트롤은 데이터를 사용자 정의 속성을 통해 (데이터 클래스) 데이터 클래스에 직접 저장합니다.
이 데이터 클래스는 데이터 상태를 저장하는 데만 사용되며 속성으로 가득 차 있으며 비즈니스 로직 구현이 없습니다!
exampletable1 (Field1, Field2, Field3) 값에 삽입 (AssociatorRunbean.frist, AssociatorRunbean.second, AssociatorRunbean.text)
이것에 대해 말하면, 누군가가 나에게 물어볼 것입니다. 이런 식으로 실현하는 것이 무엇입니까! 주의 깊은 동지들이 그것을 알아 차렸을 수도 있습니다!
이것은 델파이 인터페이스를 비즈니스 로직과 분리하는 방법입니다.