delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)

delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)

ID:6903302

大小:32.36 KB

頁數(shù):9頁

時間:2018-01-30

delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)_第1頁
delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)_第2頁
delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)_第3頁
delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)_第4頁
delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)_第5頁
資源描述:

《delphi中dll封裝業(yè)務(wù)邏輯的實現(xiàn)》由會員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、Delphi中DLL封裝業(yè)務(wù)邏輯的實現(xiàn)  (黑龍江八一農(nóng)墾大學(xué),黑龍江大慶163319)   摘要:文章通過分析軟件分層設(shè)計的優(yōu)點(diǎn),提出了對用戶界面與業(yè)務(wù)邏輯進(jìn)行分離,通過接口或抽象類實現(xiàn)兩者間通信的方法,并對業(yè)務(wù)邏輯進(jìn)行封裝成動態(tài)鏈接庫,以達(dá)到數(shù)據(jù)資源共享的目的,解決了應(yīng)用邏輯重復(fù)使用問題,增加了系統(tǒng)的可復(fù)用性、可擴(kuò)展性和健壯性。   關(guān)鍵詞:分層設(shè)計;界面與業(yè)務(wù)邏輯分離;動態(tài)鏈接庫   中圖分類號:TP31文獻(xiàn)標(biāo)識碼:A文章編號:1007—6921(XX)10—0142—02   三層結(jié)構(gòu)是開發(fā)C/S或B/S系統(tǒng)經(jīng)常采用的策略,這種分層方式將系統(tǒng)分為用戶服務(wù)

2、、業(yè)務(wù)服務(wù)和數(shù)據(jù)服務(wù)三部分,能夠解決客戶端與服務(wù)器結(jié)構(gòu)維護(hù)成本問題、改善客戶端與服務(wù)器結(jié)構(gòu)延展性問題;解決應(yīng)用邏輯重復(fù)使用的問題;還能夠滿足整合不同系統(tǒng)結(jié)構(gòu)的需要與及時應(yīng)用新技術(shù)的需要。但在實際應(yīng)用中,如何更好的利用這種分層方式來解決實際項目中的問題,一直是程序設(shè)計者不斷探索的方向。本文主要就DLL封裝業(yè)務(wù)邏輯的實現(xiàn)方法進(jìn)行探討。 1界面與業(yè)務(wù)邏輯的分離   MIS系統(tǒng)經(jīng)常采用C/S結(jié)構(gòu)來處理,在實際使用中用戶界面與業(yè)務(wù)處理并沒有進(jìn)行詳細(xì)的區(qū)分,這樣編寫出來的程序?qū)哟螐?fù)雜,不僅閱讀不夠清晰,對于以后進(jìn)行修改和維護(hù)也會遇到很大的困難,同時降低了代碼的可復(fù)用性與可擴(kuò)展性,所

3、以在編寫程序時需要將界面與業(yè)務(wù)邏輯進(jìn)行分離,以此來降低數(shù)據(jù)的傳輸量、減少對客戶端影響以及增強(qiáng)系統(tǒng)的安全性和健壯性,提高程序的可復(fù)用性和可擴(kuò)展性。在用戶層與業(yè)務(wù)層分離時,應(yīng)盡量使客戶端更“瘦”,將復(fù)雜的算法和業(yè)務(wù)邏輯規(guī)則放在中間層來處理,而數(shù)據(jù)層只用來保證提供給中間層所有的數(shù)據(jù)和操作能夠正常進(jìn)行。   例如:在進(jìn)銷存系統(tǒng)中對于貨品的銷售過程中供應(yīng)商提供了對某種貨品的保價處理,那么在銷售時就不能對保價貨品隨意出售,需要對商品進(jìn)行保價檢查,如果是保價商品,則需經(jīng)過特別處理或者不予銷售,而對非保價商品就可以直接進(jìn)行銷售。下面是一段處理代碼:   IfNo_BJthen//No_b

4、j變量用來確定該商品是否是保價商品 Begin {保價或不予銷售代碼} {界面處理代碼a} End Else Begin {銷售代碼} {界面處理代碼b} End   上面這段代碼將業(yè)務(wù)處理代碼與界面處理代碼放在一起,我們可以使用下面的代碼對其進(jìn)行 分離:   FunctionSfbj_Sp(no_bj:boolean):Boolean; Begin Ifno_bjthen Begin {保價或不予銷售代碼} Result:=true; End Else Begin {銷售代碼} Result:=false; End; End;

5、   此段代碼放在業(yè)務(wù)處理中,界面中有下面這段代碼: IfSfbj(no_bj)then Begin {界面處理代碼a} End Else Begin {界面處理代碼b} End;   分析這兩段代碼的不同點(diǎn),從中可以看出,后面這段代碼使界面處理與業(yè)務(wù)處理分開來進(jìn)行,從而使代碼結(jié)構(gòu)更加清晰、簡潔;更重要的是,即使對界面和業(yè)務(wù)邏輯進(jìn)行維護(hù)和修改,只需修改各自的處理代碼就可以了,增加了獨(dú)立性,同時也增加了程序的可復(fù)用性和可擴(kuò)展性。 2DLL封裝業(yè)務(wù)邏輯   動態(tài)鏈接庫給應(yīng)用程序提供了一種調(diào)用不在其執(zhí)行代碼中的函數(shù)的技術(shù)。而在這里為了給更好的復(fù)用業(yè)務(wù)處理代

6、碼和全局變量,Dll用來對業(yè)務(wù)邏輯進(jìn)行封裝,使業(yè)務(wù)邏輯部分和界面部分分別形成Dll和Exe文件,從而使程序的執(zhí)行更加高效。   為了實現(xiàn)對業(yè)務(wù)邏輯的封裝,首先要定義業(yè)務(wù)類,然后對其進(jìn)行繼承,實現(xiàn)具體的業(yè)務(wù)代碼。對于界面部分與業(yè)務(wù)部分的通信可以采用定義接口的形式來完成,在Delphi中我們可以使用Interface或抽象類來具體實現(xiàn),但在實現(xiàn)中要保持接口的穩(wěn)定,不能隨意對其進(jìn)行更改。如果想以后對其進(jìn)行擴(kuò)展或復(fù)用,還可以通過預(yù)留接口的方式來解決未來功能增長的需要。具體實現(xiàn)以下面這個例子來說明。   2.1首先是對庫存接口單元的定義,形成界面與業(yè)務(wù)通信的接口,為了實現(xiàn)多態(tài),只對

7、其進(jìn)行定義而不作具體實現(xiàn),在這里也可以預(yù)留接口。 IStock=interface   FuncitonSelect_Stock(sql_goods:string,Id_goods):Olevariant;   ProcedureSave_Stock(Insert_stock:string,Nam_goods,Id_goods,Date_goods,Num_goods :variant);   ProcedureUpdate_Stock(Update_stock:string,Nam_goods

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負(fù)責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細(xì)閱讀文檔內(nèi)容,確認(rèn)文檔內(nèi)容符合您的需求后進(jìn)行下載,若出現(xiàn)內(nèi)容與標(biāo)題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費(fèi)完成后未能成功下載的用戶請聯(lián)系客服處理。