




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、ABFramework框架包詳細(xì)設(shè)計(jì)說(shuō)明書作者:郭仁俊(grj208981,QQ:16187001) 愛博業(yè)務(wù)系統(tǒng)框架簡(jiǎn)稱ABFramework,如下文中所述目錄編寫目的2框架的特色21.什么是框架(Framework)22.為什么要進(jìn)行框架開發(fā)23.ABFramework的特色。2ABFramework的詳細(xì)設(shè)計(jì)41.功能描述42.框架中EXE43.框架中BPL41)BPL分類42)BPL列表44.框架中組件、控件、函數(shù)的簡(jiǎn)單介紹61)ABPubGD11.bpl中主要的類62)ABThirdPubGD11.bpl中主要的類73)ABcxGridPopupMenuGD11.bpl中主要的類74
2、)ABFWPubGD11.bpl中主要的類75.框架中組件、控件、函數(shù)的詳細(xì)設(shè)計(jì)71)ABPubGD11.bpl詳細(xì)設(shè)計(jì)72)ABThirdPubGD11.bpl詳細(xì)設(shè)計(jì)73)ABcxGridPopupMenuGD11.bpl詳細(xì)設(shè)計(jì)74)ABFWPubGD11.bpl詳細(xì)設(shè)計(jì)7編寫目的本文檔描述了ABFramework要實(shí)現(xiàn)的主要功能和框架結(jié)構(gòu)。本框架是針對(duì)開發(fā)人員而設(shè)計(jì),讀者需具有一定的VCL知識(shí)和面向?qū)ο蟮臉I(yè)務(wù)知識(shí)??蚣艿奶厣?. 什么是框架(Framework)1) 框架(Framework)是整個(gè)或部分系統(tǒng)的可重用設(shè)計(jì),是可被應(yīng)用開發(fā)者定制的應(yīng)用骨架。 2) ABFramework的
3、概念也很簡(jiǎn)單。它實(shí)現(xiàn)了一般業(yè)務(wù)領(lǐng)域通用的底層服務(wù)。編程人員可以在實(shí)現(xiàn)了通用功能的ABFramework上開始具體的系統(tǒng)開發(fā)??蚣芴峁┝怂袘?yīng)用期望的默認(rèn)行為的類集合。ABFramework可以縮短大型應(yīng)用軟件系統(tǒng)的開發(fā)周期,提高開發(fā)質(zhì)量。3) 形象一點(diǎn)來(lái)說(shuō),就像蓋高樓,當(dāng)項(xiàng)目進(jìn)行施工時(shí),經(jīng)過(guò)多次考驗(yàn)的大樓框架已經(jīng)矗立在哪里(ABFramework),我們要做的事就是分工做好每個(gè)房間然后注冊(cè)到到框架中就可以了,此種模式下可最大化的利用資源,分工協(xié)作。2. 為什么要進(jìn)行框架開發(fā)軟件開發(fā)在一定程序上是80%的拷貝/粘貼+20%的特性設(shè)計(jì),重復(fù)的勞動(dòng)占用著大量的時(shí)間,Delphi是廣大程序員的喜愛。她
4、在開發(fā)時(shí)已經(jīng)夠快,但還是有大的提升空間,作為一個(gè)由MIS到ERP系統(tǒng)的開發(fā)人員,一直在想著如何更快,于是一個(gè)較通用的業(yè)務(wù)框架開發(fā)系統(tǒng)在不斷的積累與試驗(yàn)中出現(xiàn)了 3. ABFramework的特色。1) 支持C/S的兩層與三層架構(gòu)且切換方便.一個(gè)本地參數(shù)決定當(dāng)前架構(gòu)是三層還是兩層,對(duì)開發(fā)人員來(lái)說(shuō)兩層與三層都是使用同一組控/組件,開發(fā)人員可在設(shè)計(jì)期不用考慮架構(gòu),三層還是兩層是在發(fā)布時(shí)決定。在三層方式下服務(wù)器采用RemObjects編寫。2) 完美解決簡(jiǎn)繁體與多語(yǔ)言的問(wèn)題在簡(jiǎn)體下編譯的程序不用任何修改,就可以在繁體下運(yùn)行且顯示繁體,反之也然,可動(dòng)態(tài)增加語(yǔ)言,在“多語(yǔ)言組件 功能說(shuō)明.doc”有詳細(xì)說(shuō)
5、明3) 方便的更新機(jī)制客戶端只需一個(gè)2M的ABClient.ex,ABClient.exe運(yùn)行時(shí)會(huì)將最新的功能BPL包下載到本機(jī);框架具備模塊分發(fā)功能,因此當(dāng)有模塊升級(jí)或新模塊加入系統(tǒng)時(shí),系統(tǒng)會(huì)自動(dòng)將模塊分發(fā)到具有操作權(quán)限的用戶所使用的計(jì)算機(jī)當(dāng)中。可以進(jìn)行熱撥插式的升級(jí),即在不中斷業(yè)務(wù)的情況下單獨(dú)對(duì)業(yè)務(wù)模塊升級(jí),我們可一邊修正一邊編譯一邊運(yùn)行,而不用重啟動(dòng)客戶端。升級(jí)也可以在遠(yuǎn)程進(jìn)行4) 框架采用BPL+EXE架構(gòu)一個(gè)功能模塊是一個(gè)BPL,由主EXE調(diào)用,方便發(fā)布更新,同時(shí)也減少了主程序的體積,功能劃分更加清晰,主程序只負(fù)責(zé)調(diào)用BPL或其它EXE,增強(qiáng)模塊獨(dú)立性 5) 方便靈活的角色控制可對(duì)角
6、色分配可用的功能模塊及報(bào)表,然后將角色掛接到操作員下,一個(gè)操作員可擁有多種角色,則此操作員登錄時(shí)就可以用這些角色的功能了6) 可對(duì)操作員進(jìn)行數(shù)據(jù)權(quán)限的設(shè)置如設(shè)置指定操作員只能看到指定部門,指定業(yè)務(wù)員等指定特性的數(shù)據(jù),加強(qiáng)數(shù)據(jù)安全性。7) 完美支持?jǐn)?shù)據(jù)庫(kù)中設(shè)置的約束主鍵等特性數(shù)據(jù)集組件ABClientDataset會(huì)自動(dòng)解解釋表的約束主鍵,字段的唯一值等特性,在運(yùn)行時(shí)ABClientDataset會(huì)自動(dòng)檢測(cè)這些設(shè)置,如字段為空或唯一值重復(fù),如不成立時(shí)會(huì)自動(dòng)提示信息.8) 重用代碼大大增強(qiáng),開發(fā)速度加快,開發(fā)人員減少,維護(hù)費(fèi)用降低。軟件生產(chǎn)效率和質(zhì)量也得到了提高,一個(gè)類似銷售訂單的復(fù)雜作業(yè)可控制在
7、500行,甚至一個(gè)工資系統(tǒng)的代碼量下會(huì)超過(guò)3000行,有利于在一個(gè)項(xiàng)目?jī)?nèi)多人協(xié)同工作,在實(shí)踐中,利用本平臺(tái)設(shè)計(jì)的代碼開發(fā)周期縮短約40%左右,在程序穩(wěn)定性和團(tuán)隊(duì)協(xié)作方面帶來(lái)的價(jià)值更高。9) 基于FastReport自由報(bào)表定義10) 高效的數(shù)據(jù)庫(kù)訪問(wèn)機(jī)制可以最小化與數(shù)據(jù)庫(kù)交互的頻率以提高應(yīng)用的性能??蚣茏詣?dòng)解釋各種數(shù)據(jù)操作的動(dòng)作,自動(dòng)生成相應(yīng)的更新,新增,刪除的SQL語(yǔ)句,提高與數(shù)據(jù)庫(kù)交互的效率。11) 此框架已有多個(gè)實(shí)例上線使用,還在繼續(xù)更新完善。12) ABFramework的發(fā)展?,F(xiàn)在的ABFramework是一個(gè)輕量級(jí)的應(yīng)用框架,只能支持C/S結(jié)構(gòu)兩層或三層應(yīng)用。暫不支持B/S架構(gòu),不
8、過(guò)B/S架構(gòu)已列入下一版本的開發(fā)計(jì)劃中。ABFramework的詳細(xì)設(shè)計(jì)1. 功能描述ABFramework框架中不涉及具體的業(yè)務(wù)邏輯,但為所有業(yè)務(wù)系統(tǒng)服務(wù),實(shí)現(xiàn)公共業(yè)務(wù)功能的部分,如角色管理,操作員操作等。2. 框架中EXEABClient.exe為框架的客戶端,兩層與三層共用。ABService.exe為框架的服務(wù)器,僅在三層時(shí)使用。這兩個(gè)EXE運(yùn)行時(shí)都會(huì)將最新的功能BPL包下載到本機(jī),因此當(dāng)有模塊升級(jí)或新模塊加入系統(tǒng)時(shí),這兩個(gè)EXE會(huì)自動(dòng)完成更新的動(dòng)作3. 框架中BPL1) BPL分類第一類為最基礎(chǔ)的BPL包(只依據(jù)于DELPHI環(huán)境,不包含第三控件與業(yè)務(wù)的一些函數(shù)與控件)第二類為第三方
9、控件的BPL包(此包包含第三控件或需要第三方控件支持但不包含業(yè)務(wù)的一些函數(shù)與控件,可作為三方控件轉(zhuǎn)換為公司標(biāo)識(shí)控件的包,在后繼的BPL或作業(yè)中只用經(jīng)過(guò)轉(zhuǎn)換的公司標(biāo)識(shí)控件)第三類為框架的BPL包第四類為框架中共用功能的BPL作業(yè)包,如權(quán)限的分配,操作員的管理等2) BPL列表BPL名稱所屬分類BPL描述ABPubGD11.bpl第一類最基礎(chǔ)的BPL包,只依據(jù)于DELPHI環(huán)境,其中的控件和函數(shù)可用于其它地方,此包提供統(tǒng)一的繼承窗體的基類,在此基類中提供常用的窗體操作,如退出時(shí)詢問(wèn)是否保存數(shù)據(jù)、自動(dòng)保存控件關(guān)閉時(shí)的屬性值A(chǔ)BThirdPubGD11.bpl第二類需第三方DevExpressVCL、
10、FastReport、TeeChar Pro、Raize支持,其中的控件和函數(shù)才能使用,目前框架也僅有使用以上四類第三方控件ABcxGridPopupMenuGD11.bpl第二類提供TABcxGridPopupMenu(加強(qiáng)右鍵) 功能的BPL,因?yàn)榇丝丶趩为?dú)銷售且功能獨(dú)立,故單獨(dú)成為一個(gè)BPLABFWPubGD11.bpl第三類提供框架所有的基礎(chǔ)控件、函數(shù)的支持ABSys_Log_CurLinkG.bpl第四類管理當(dāng)前連接到服務(wù)器客戶端的列表ABSys_Log_CustomEventG.bpl第四類管理自定義事件的日志ABSys_Log_ErrorInfoG.bpl同上管理程序異常日志的
11、列表ABSys_Log_FieldChangeG.bpl同上管理所有設(shè)置數(shù)據(jù)跟蹤的字段修改日志ABSys_Log_LoginG.bpl同上管理系統(tǒng)所有的登錄記錄ABSys_Log_SQLMonitorG.bpl同上管理當(dāng)前發(fā)往后臺(tái)服務(wù)器SQL監(jiān)控ABSys_Org_FunctionG.bpl同上功能菜單管理(管理功能菜單與菜單關(guān)聯(lián)的BPL)ABSys_Org_ExtendReportDesignG.bpl同上擴(kuò)展報(bào)表設(shè)計(jì)(提供自定義的擴(kuò)展報(bào)表設(shè)計(jì))ABSys_Org_ExtendReportPrintG.bpl同上擴(kuò)展報(bào)表打?。ㄌ峁┳远x的擴(kuò)展報(bào)表打印)ABSys_Org_KeyG.bpl同上
12、角色管理(管理操作員的角色及分配角色所俱有的功能與報(bào)表權(quán)限)ABSys_Org_EnterpriseG.bpl同上企業(yè)機(jī)構(gòu)管理(管理使用公司的企業(yè)機(jī)構(gòu)與操作人員,包括人員所俱有的角色)ABSys_Org_FieldG.bpl同上數(shù)據(jù)字典管理(重要的作業(yè),框架中大部分對(duì)字段的操作都在此進(jìn)行,如設(shè)置字段的創(chuàng)建類型、默認(rèn)值、來(lái)源數(shù)據(jù)等)ABSys_Org_FieldCodeG.bpl同上字段編碼管理(提供新增數(shù)據(jù)時(shí)字段的初始編碼,如訂單號(hào)可能為8位的年+三位的流水號(hào),則可在此處設(shè)置訂單號(hào)字段的兩個(gè)編碼段,在新增訂單時(shí)就會(huì)自動(dòng)生成訂單號(hào)了,此處已考慮并發(fā)的問(wèn)題)ABSys_Org_DownListG.
13、bpl同上下拉列項(xiàng)管理(管理框架中在輸入數(shù)據(jù)時(shí)控件的下拉數(shù)據(jù))ABSys_Org_ParameterG.bpl同上系統(tǒng)參數(shù)管理(框架中定義系統(tǒng)參數(shù)的地方)ABSys_Org_MailG.bpl同上郵件消息管理(管理框架中的郵件與消息)ABSys_Org_LoadSQLG.bpl同上加載的SQL管理(所有讀取數(shù)據(jù)的SQL都在此定義,在窗體中更新數(shù)據(jù)集的SQL時(shí),會(huì)同時(shí)更新到此表中,當(dāng)在后期要修改窗體數(shù)據(jù)集的SQL時(shí),只需在此處修改一下就可以,不同重新修改程序)ABSys_Org_ConnG.bpl同上數(shù)據(jù)連接管理(兩層時(shí)顯示數(shù)據(jù)庫(kù)連接,三層時(shí)顯示應(yīng)用服務(wù)器連接)ABSys_Org_MakeBui
14、ldCodG.bpl同上功能自生成管理(可自動(dòng)按默認(rèn)的標(biāo)準(zhǔn)生成單表主與從表的窗體代碼,并能進(jìn)行編譯,加快項(xiàng)目的效率)ABSys_Org_ControlPropertyG.bpl同上控件屬性管理(管理框架中需在創(chuàng)建時(shí)設(shè)置默認(rèn)值的控件屬性與設(shè)置的屬性值)ABSys_Approved_RuleG.bpl同上審批規(guī)則管理(為后續(xù)業(yè)務(wù)功能定制審批規(guī)則)ABSys_Approved_MessageG.bpl同上審批消息管理(為后續(xù)定制了審批規(guī)則的業(yè)務(wù)功能服務(wù))ABSys_Org_AboutG.bpl同上關(guān)于ABSys_Org_PubDatasetG.bpl同上共用數(shù)據(jù)集管理(管理系統(tǒng)起動(dòng)時(shí)加載的共用數(shù)據(jù)集
15、)ABSys_Org_PubQueryG.bpl同上通用查詢(可自定義查詢,會(huì)自動(dòng)保存)ABSys_Org_RegisteredG.bpl同上軟件注冊(cè)ABSys_Org_UpdateG.bpl同上下載更新4. 框架中組件、控件、函數(shù)的簡(jiǎn)單介紹1) ABPubGD11.bpl中主要的類/框架中所有窗體的基類TABPubForm= class(TFORM)處理所有窗體共性的屬性與動(dòng)作,如多語(yǔ)言的支持,屬性值自動(dòng)加載的支持等ABDesignHookUtilsU單元處理運(yùn)行時(shí)設(shè)計(jì)窗體中所有控件的能力/中文處理的類TABChinese = class(TComponent)負(fù)責(zé)處理中文的簡(jiǎn)繁體/語(yǔ)言類TABLanguage = class(TComponent)負(fù)責(zé)多語(yǔ)言的操作/SQL語(yǔ)句解析類TABSQLParse = class負(fù)責(zé)SQL的解釋和重組/文件注冊(cè)類TABRegisterFile = class負(fù)責(zé)EXE、BPL及其它類型文件的注冊(cè)與自動(dòng)更新、運(yùn)行。2) ABThirdPubGD11.bpl中主要的類3) ABcxGridPopupMenuGD11.bpl中主要的類/CXVIEW的右鍵菜單TABcxGridPopupMenu= class(TPopupMenu )提供TABcxGridPo
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 檢測(cè)公司委托協(xié)議書范本
- 互聯(lián)網(wǎng)企業(yè)典當(dāng)質(zhì)押貸款協(xié)議
- 民用建筑租賃合同范本及詳細(xì)條款
- 轉(zhuǎn)租合同協(xié)議書樣板范本
- 免除房款協(xié)議書范本
- 車輛牌照租賃與綠色出行激勵(lì)政策合同
- 甜品店品牌區(qū)域代理合作協(xié)議
- 綠色制造廠房租賃安全與節(jié)能減排協(xié)議
- 財(cái)務(wù)結(jié)算財(cái)務(wù)擔(dān)保合同范本
- 住宅小區(qū)新能源汽車充電樁車位租賃合同
- 冠心病的規(guī)范化診培訓(xùn)課件
- 未來(lái)中國(guó)檢測(cè)市場(chǎng)發(fā)展趨勢(shì)簡(jiǎn)析(精)
- 2025年福建省糧食行業(yè)職業(yè)技能競(jìng)賽(糧油保管員)備賽試題庫(kù)(含答案)
- 四川電網(wǎng)新建電源并網(wǎng)服務(wù)指南(2025年)
- 建筑工程修繕培訓(xùn)課件
- 2025年主管護(hù)師考試真題試題及答案
- 2025全國(guó)英語(yǔ)等級(jí)考試(PETS)二級(jí)試卷真題匯編與解析
- 2024北森圖表分析題庫(kù)
- 稅務(wù)智稅競(jìng)賽試題及答案
- 成都銀河磁體股份有限公司高精度、高潔凈度硬盤用粘結(jié)釹鐵硼磁體擴(kuò)建項(xiàng)目環(huán)評(píng)報(bào)告
- 企業(yè)內(nèi)部控制體系構(gòu)建與優(yōu)化研究
評(píng)論
0/150
提交評(píng)論