Delphiのインターフェースとビジネスロジック間の配信
j xue(zhuam)[email protected]
Delphiソフトウェアの開発を開始する前に、Javaのソフトウェア開発を学びました。
最近のプロジェクトは、デルファイを再び読みましたソフトウェアを開発して設計するとき!ああ、あまり話しましょう、ポイントに到達しましょう!
Delphiは、通常、迅速なソフトウェア開発のIDEです。プログラマーは最初にビュー(インターフェイス)を描き、次に対応するイベントにソースコードを書き込みます。
1.たとえば、データベースにレコードを挿入したい場合、これは通常の方法です!
SQLの例:Exampletable1(field1、field2、field3)values(values1、values2、values3)に挿入
このDelphiフォームに3つのテキストコントロールがあると仮定します。名前はそれぞれ揚げ物、2番目、3つです
ここでは、3つの異なる方法を使用してデータベースにデータを挿入します。
1.直接挿入します
クライアント------------>データベース
Exampletable1(field1、field2、field3)値(frist.text、second.text、3.text)に挿入
2。間接挿入
クライアント---(テキストパス)---> dataClass ------->データベース
これは、フォームデータが最初にデータクラスに保存されることを意味し、その後、ユーザーはこのデータクラスからデータを取得し、データを転送します。
データベースに渡します
知らせ:
フォームコントロールは、テキストを介してデータをDataclassデータクラスに直接保存します。
このDataclassは、データ状態の保存にのみ使用され、属性でいっぱいで、ビジネスロジックの実装はありません!
次のように:
{----------------------------------------------------------- --------------------------------------------------------------- --------------------------------------------------------------- --------------------------------------------------------------- --------------------------------------------------------------- ----
著者:Zhuam
日付:2004/09/04
タイプ:クラス
プロパティ:すべてのAssociatorrunbean情報セットが設定されています
説明:メンバーの運転免許情報情報を保存するために使用されます、
--------------------------------------------------------------- --------------------------------------------------------------- ---------------------------------
タイプ
Tassociatorrunbean = class(tobject)
プライベート
fkilometre:double;
fcarnumber:文字列;
fnumber17:string;
fcarcolor:文字列;
fassociatorid:string;
fcarcapacity:string;
fframenumber:文字列;
fengineNumber:文字列;
favailabilitydate:tdate;
Fregisterdate:tdate;
fbackpicture:タイム;
ffrontpicture:タイム;
fleftpicture:タイム;
FrightPicture:タイム;
関数getBackPicture:タイム;
関数GetFrontPicture:Timage;
関数GetLeftPicture:タイム;
関数getRightPicture:タイム;
手順SetAssociatorID(const値:文字列);
手順SetAvailabilityDate(const値:tdate);
手順setbackpicture(const値:タイム);
手順SetCarcaPacity(const Value:String);
手順SetCarcolor(const Value:string);
手順SetCarNumber(const Value:String);
手順setengineNumber(const値:文字列);
手順SetFramEnumber(const Value:String);
手順SetFrontPicture(const Value:Timage);
手順Setkilometre(const Value:Double);
手順SetLeftPicture(const Value:Timage);
手順SetNumber17(const値:文字列);
手順SetRegisterDate(const値:tdate);
手順SetRightPicture(const Value:Timage);
公共
コンストラクターCREATE;
破壊者破壊;オーバーライド。
Property AssociatorID:String fassociatorid write setassociatorid;
プロパティカーナンバル:string fcarnumber write setcarnumber;
プロパティカルコラー:string fcarcolor write setcarcolor
プロパティカーモード:文字列fcarcolor write setcarcolor
プロパティEnginEnumber:String read fengineNumber write setengineNumber;
プロパティフレーマンバー:string fframenumber write setframenumber;
プロパティの癌:文字列fcarcapacity write setcarcapacity;
プロパティ番号17:string read fnumber17 write setnumber17;
プロパティキロメートル:fkilometre write setkilometre;
プロパティレジスターデート:FregisterDate Write SetRegisterDateを読み取ります
プロパティ可用性デート:TDATE FavailabilityDate Write SetAvailabilityDate;
プロパティFrontPicture:Timage Read GetFrontPicture Write SetFrontPicture;
プロパティバックピクチャ:Timage Read GetBackPicture Write SetBackPicture;
プロパティleftpicture:ティマージ読み取りgetLeftpicture write setLeftpicture;
プロパティRightPicture:Timage Read GetRightPicture Write SetRightPicture;
終わり;
Exampletable1(field1、field2、field3)値(associatorrunbean.frist、associatorrunbean.second、associatorrunbean.text)に挿入
3。間接挿入
クライアント---(カスタムプロパティ配信)---> dataClass ------->データベース
これは、フォームデータが最初にデータクラスに保存され、ユーザーがこのデータクラスからデータを取得し、データを転送することを意味します。
データベースに渡します
知らせ:
フォームコントロールは、カスタムプロパティを介してデータを(dataclass)データクラスに直接保存します。
このDataclassは、データ状態の保存にのみ使用され、属性でいっぱいで、ビジネスロジックの実装はありません!
Exampletable1(field1、field2、field3)値(associatorrunbean.frist、associatorrunbean.second、associatorrunbean.text)に挿入
これについて言えば、誰かが私に尋ねるでしょう、このように実現することの重要性は何ですか!慎重な同志はそれに気づいたかもしれません!
これは、Delphiインターフェイスをビジネスロジックから分離する方法です。