HS系統開發模式說明_第1頁
HS系統開發模式說明_第2頁
HS系統開發模式說明_第3頁
HS系統開發模式說明_第4頁
HS系統開發模式說明_第5頁
已閱讀5頁,還剩30頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、HS系統開發模式文檔類不治理規范文檔編號T03-00003-050205來源部門技術部研發部門應用范圍技術部保密級不修訂歷史記錄日期版本講明作者2005-3-221.2修訂01:將BD對象的維護接口將自身往DA傳遞,更新為傳遞直接參數,即傳遞需要的數據屬性參數。董應群2005-2-51.0Create董應群目 錄 TOC * MERGEFORMAT 1、目的 PAGEREF _Toc99095113 h 22、系統命名空間的命名體系 PAGEREF _Toc99095114 h 23、系統中的對象數據組織模式 PAGEREF _Toc99095115 h 44、系統中的對象數據的處理方式 PA

2、GEREF _Toc99095116 h 55、HS信息處理模式原理圖 PAGEREF _Toc99095117 h 116、對象數據類差不多接口 PAGEREF _Toc99095118 h 127、DS層信息處理模式 PAGEREF _Toc99095119 h 138、UI層的檢測邏輯實現規則 PAGEREF _Toc99095120 h 149、代碼示例 PAGEREF _Toc99095121 h 15目的規范化系統的開發模式;規范化系統中對象的組織;提高系統的開發效率;提高系統的維護效率;降低系統的BUG率。系統命名空間的命名體系在HS環境中進行對象和工具集的再次組合的體系。便于合

3、理地組織各類對象和個性化工具集合。差不多命名體系所有的HS環境中的對象和工具全部在Hotsales命名空間下。按如下形式進行展開:Hotsales.子系統命名空間/全局共享層次空間.下級子系統命名空間/系統對象邏輯層次命名空間全局共享層次命名空間Hotsales.SystemFramework /全局系統框架命名空間,在子系統中也能夠提供自己的系統框架命名空間。Hotsales.Common /全局系統工具集合命名空間,在子系統中也有自己的通用工具集合命名空間。系統對象邏輯層次命名空間具體層次描述見“T03-00005HS軟件系統的實現規則.doc”層名命名標識層描述備注業務外觀層Busine

4、ssFacadeBusinessFacadeBF提供業務處理的集成化接口,起UI層和業務邏輯處理層的交互代理。業務規則層BusinessRuleBusinessRulesBR系統中個性化業務邏輯處理中心采納復數形式業務數據對象層BusinessDataBusinessDataBD系統中業務數據的對象層具體子系統的通用層CommonCommonCM系統中的工具集合體數據訪問層DataAccessDataAccessDA系統中數據訪問層,是對象化數據與關系型數據的交互代理。數據存儲層DataStoreDataStoreDS數據處理層,提供存儲過程處理/訪問數據,甚至包含部分業務邏輯的處理。在DB中

5、實現系統框架層SystemFrameworkSystemFrameworkSF系統框架層,提供系統配置信息的處理系統通用層SystemCommonSystemCommonSC系統通用工具集合Web層WebWebUI系統中用戶接口,提供頁面邏輯的處理,結合業務邏輯進行部分離散業務邏輯的處理。服務器端處理工具ServerSS各類自動化性質的工具的服務器端處理工具集合Web方式提供的服務HttpProviderHP采納WEB方式提供服務的工具集合HS的所有系統中各子系統命名空間總攬該信息需要與“F05-00006系統架構.xls”中的命名空間保持一致。子系統名稱及編號、代號命名空間頭部備注人事治理

6、M01、HotHRHotsales.HR目前要緊包含企業組織結構、人員系統治理 M02、HotUM*Hotsales.System系統體系結構、權限等治理業務處理 M03、HotBizHotsales.Business銷售訂單(業務)、合同治理銷售治理M45 SaleManageM04、HotSaleClewHotsales.SaleManageHotsales.SaleManage.ClewHotsales.SaleManage.Chance銷售線索、銷售機會M05、HotSaleChance客戶治理 M06、HotCustomerHotsales.CustomerInfo客戶資料治理(涉及

7、全面客戶資料:客戶、供應商等)服務與支持 M07、HotServiceHotsales.Service服務與支持財務治理 M08、HotFinanceHotsales.Finance財務治理辦公基礎輔助工具T00T01、HotSMSHotsales.OA.SMS短信服務提醒服務(通過內部消息、短信、郵件來實現)內部消息服務系統事件工作流(目前要緊涉及到審批流和審批工具)工作打算(包含打算安排,同時調用提醒工具)郵件工具(群發、定向發送)T02、HotREMINDHotsales.OA.RemindT03、HotMESSAGEHotsales.OA.MessageT04、HotSEHotsale

8、s.OA.SystemEventT05、HotWFHotsales.OA.WorkFlowT06、HotWPHotsales.OA.WorkPlanT07、HotMailerHotsales.OA.MailerT08、HotGTaskHotsales.OA.GeneralTaskT09 HotFaxHotsales.OA.Fax傳真治理中心內部交流T20、HotAdviceHotsales.OA.AdviceCenter建議中心T21、HotNewsHotsales.OA.NewsCenter新聞中心T22、HotbbsHotsales.OA.BBSBBS產品治理 M09、HotProdHot

9、sales.Product產品治理市場治理 M10、HotMarkHotsales.Marketing市場治理系統設置 M30、SysSetupHotsales.SysSet系統設置治理系統框架 T90、HotSystemFrameworkHotsales.SystemFramework系統框架通用工具 HotCRMCommonHotsales.Common通用工具編號規則:M開頭,企業信息化治理系統P開頭,企業信息化生產過程治理信息系統,車間生產治理、生產跟蹤E開頭,企業信息化工程技術子系統,如,CAD、CAPP等T開頭,企業信息化工具系統S開頭,企業信息化治理集成系統HS體系中的商用系統代

10、碼集成商用系統編號代號名稱S01HotCRM客戶關系治理系統系統中的對象數據組織模式系統中特定對象數據采納兩類數據對象進行封裝和傳遞。存放單一對象信息的特定對象數據,采納實際的對象,對象的屬性是該對象對應的HSF規范視圖的所有屬性和特定大字節屬性(具體定義見“T03-00007HS DB治理規范.doc”)。命名規范為:XXData存放多個對象信息的對象集合數據,采納DataTable對象來存儲該對象集的列表數據。其中不能包含特定的大字節屬性。命名規范為:XXTable用于UI顯示的信息傳輸模式所謂信息傳輸模式:指函數參數的類型范圍。在UI中顯示的信息僅僅來源于兩類信息載體,DataTable

11、和特定的對象。用于數據表格/DataGrid、下拉列表框、列表框、控件數組等信息顯示,采納通用DataTable作為信息的載體進行信息的傳輸。信息的傳輸方向:“DSUI”;用于非上述頁面元素的顯示,采納特定的對象作為信息的載體進行信息的傳輸。信息傳輸方向“DSUI”特定統計性質的數據的顯示,可能來源于DataTable或特定的函數參數,甚至函數的返回值。非UI顯示(邏輯處理需要)的信息傳輸模式用于邏輯處理需要進行信息的獵取,能夠依照需要進行信息的傳遞,但一般采納“用于UI顯示的信息傳輸模式”。專門情況依照需要用戶能夠自行決定信息傳輸模式。系統中的對象數據的處理方式系統中任何對象都對應一個對象數

12、據類,所有特定對象信息的傳輸是通過該類的對象進行傳輸的。該對象的屬性是該對象對應的數據表的所有屬性,和該數據表對應的視圖擴充過來的屬性。與特定對象相關的類及其差不多功能假設對象名為Object。層次類名功用BusinessFacadeObjectSystem提供UI需要的所有個性化接口,包含簡單的參數規范性檢測。一般沒有屬性,純粹的方法封裝體。BusinessRulesObject提供個性化業務邏輯處理引擎。沒有參數檢測。一般沒有屬性,純粹的方法封裝體。BusinessDataObjectData提供當前對象的個性化屬性封裝體。屬性范圍:該對象對應的數據表的所有屬性,和該數據表對應的視圖擴充過

13、來的屬性。提供基于編號的屬性獵取接口,集成到類的初始化方法中。同時提供基于獨立命名的差不多信息維護接口(新建、基于主鍵的修改)CommonObjectTool與特定子系統相關的通用工具封裝體。一般沒有屬性,純粹的方法封裝體。DataAccessObjects提供與特定對象相關的數據表的訪問接口。系統通過該層連接遠程DB,執行DS層的SP,進行系統需要的數據處理。特定對象的個性化類系統中將提供差不多屬性和操縱屬性。在所有的屬性獵取接口中需要自己再生成SQL代碼片段,應全面防止注入式SQL病毒。屬性提供了該對象對應的數據表的所有屬性,和該數據表對應的視圖擴充過來的屬性。即該對象對應的視圖的所有屬性

14、和大字節屬性。某些類還提供了個不專門的統計屬性,這些屬性的設置需要通過非編號的擴展信息獵取接口來進行信息的設置。定義屬性的時候需要初始化屬性,依照不同的類型進行如下初始化數值類型:初始化為“0”字符型:初始化為“”日期型:初始化為“1990-1-1”引用型:初始化為“null”構造函數系統提供了基于配置的屬性初置構造函數,即提供通過編號和XML文件配置的初始化類時應該設置的屬性值。假如用戶提供的構造函數和擴展函數中編號沒有定義,則統統默認為“2”。即指定了無效的編號,則初始化為全部視圖屬性。差不多編號:內置的構造函數編號0:空對象,初始化一個空對象,不從DS層獵取任何信息。用于創建和修改對象信

15、息時使用。1:全部直接屬性,獵取所有視圖/數據表中有對應字段的屬性,含大字節屬性。2:全部視圖屬性,獵取所有視圖屬性,不含大字節屬性。這是默認方式,即無參構造函數默認采納該編號。3:名稱屬性,僅僅ID屬性和名稱/描述屬性。4:大字節屬性,僅僅ID屬性和所有大字節屬性。5:其它屬性,僅僅ID屬性和其它非視圖/數據表屬性。擴展編號:又稱配置編號,基于配置文件的信息獵取接口。配置文件參見“T03-00010系統屬性設置配置策略.doc”擴展屬性設置接口基于配置文件進行和特定的命名屬性串進行對象屬性的設置。擴展信息獵取接口支持所有編號的對象屬性設置。系統中所有編號的屬性設置差不多上通過一個統一的函數來

16、進行的。/函數講明:標準擴展方式設置對象屬性(依照配置編號或直接命名屬性串設置特定對象的屬性)成功設置特定對象屬性,無返回值(void)。否則拋出錯誤(M3000209F)接口參數:配置編號:int attributeNo 關鍵字:int keyword /具體命名和類型采納該對象對應的關鍵字的名稱和類型命名屬性串:string attributeString /重載接口參數參數格式:命名屬性串:string attributeString,用逗號隔開的命名屬性串處理方法:直接調用DA層同名同參接口具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:Obje

17、ctData處理方法:public void ExtendSetAttribute(int keyword, int attributeNo)處理方法:public void ExtendSetAttribute(int keyword, string attributeString) /重載接口參考用例:直接見接口模型(調用講明處出現)/擴展屬性獵取接口通過屬性方式訪問特定對象的屬性,需要通過構造函數、擴展屬性設置函數事先進行對象屬性的賦值。同時還需要保證執行了正確的屬性設置方法,即應用了正確的屬性設置編號。否則可能獵取系統默認的屬性值,而非實際的屬性值。此種方法為事先設置方式。此處提供的擴

18、展屬性獵取接口,是即時屬性獵取接口。該接口將即時調用對應的DA層接口取獵取相關屬性。并返回對應屬性加載的Hashtable對象。/函數講明:標準擴展方式獵取對象屬性(依照直接命名屬性串獵取特定對象的屬性)成功返回特定屬性加載的Hashtable對象。否則拋出錯誤(M3000210F)接口參數:關鍵字:int keyword /具體命名和類型采納該對象對應的關鍵字的名稱和類型命名屬性串:string attributeString 參數格式:命名屬性串:string attributeString,用逗號隔開的命名屬性串處理方法:直接調用DA層同名同參接口具體調用:命名空間:Hotsales.子

19、系統命名空間.BusinessData系統類名:ObjectData處理方法:public Hashtable ExtendGetAttribute(int keyword, string attributeString) 參考用例:直接見接口模型(調用講明處出現)/維護接口系統提供了創建對象和依照對象關鍵字進行信息的更新的接口。注意:創建和更新的邏輯條件在BR層進行,此處的接口僅僅進行實際的創建和更新操作。現在需要利用該對象作為函數參數,進行相關處理:在UI層給對象的屬性賦值通過BF層傳輸到BR層在BR層處理完相關邏輯條件后,再執行該對象的特定維護接口。輔助接口,私有接口獵取指定屬性編號/用

20、戶化屬性串對應的標準命名屬性串/函數講明:獵取指定屬性編號/用戶化屬性串對應的標準命名屬性串成功返回特定的命名屬性串。否則拋出錯誤(M3000211F)接口參數:屬性編號:int attributeNo 命名屬性串:string attributeString /重載接口參數參數格式:命名屬性串:string attributeString,用逗號隔開的命名屬性串處理方法:內置編號采納類常量模式非內置編號采納從XML文件獵取,然后解析命名屬性串命名屬性串需要進行解析。具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:priva

21、te string ParseAttributeString(int attributeNo) 處理方法:private string ParseAttributeString(string attributeString) 參考用例:直接見接口模型(調用講明處出現)/依據命名屬性串從DA層獵取對應的數據/函數講明:依據命名屬性串從DA層獵取對應的數據成功返回特定屬性數據。否則拋出錯誤(M3000212F)接口參數:關鍵字:int keyword /具體命名和類型采納該對象對應的關鍵字的名稱和類型命名屬性串:string attributeString 參數格式:命名屬性串:string at

22、tributeString,用逗號隔開的命名屬性串處理方法:直接調用DA層同名同參接口具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private DataTable GetGrivenAttributeInfos(int keyword, string attributeString) 參考用例:直接見接口模型(調用講明處出現)/將獵取的數據加載到對象對應的屬性中/函數講明:將獵取的數據加載到對象對應的屬性中成功將特定的屬性加載到對象的特定屬性中。否則拋出錯誤(M3000213F)接口參數:屬性數據:DataTable

23、attributeData 處理方法:直接將數據表中的信息加載到對象的屬性中,采納逐一加載法進行加載具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private void SetAttributesFromDataTable(DataTable attributeData) 參考用例:直接見接口模型(調用講明處出現)/將獵取的數據加載到Hashtable中/函數講明:將獵取的數據加載到Hashtable中成功返回特定屬性加載的Hashtable對象。否則拋出錯誤(M3000214F)接口參數:屬性數據:DataTable

24、attributeData 處理方法:直接調用DA層同名同參接口具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private Hashtable CreateHashtableFromDataTable(DataTable attributeData) 參考用例:直接見接口模型(調用講明處出現)/依據命名屬性串和對象關鍵字實例化加載對象屬性/函數講明:依據命名屬性串和對象關鍵字實例化加載對象屬性成功將加載當前對象的屬性。否則拋出錯誤(M3000218F)接口參數:關鍵字:int keyword /具體命名和類型采納該對象對

25、應的關鍵字的名稱和類型命名屬性串:string attributeString 具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private void LoadObjectAttribute(int keyword, string attributeString) 參考用例:直接見接口模型(調用講明處出現)/依據屬性編號和對象關鍵字實例化加載對象屬性/函數講明:依據屬性編號和對象關鍵字實例化加載對象屬性成功將加載對象的屬性。否則拋出錯誤(M3000219F)接口參數:關鍵字:int keyword /具體命名和類型采納該對

26、象對應的關鍵字的名稱和類型屬性編號:string attributeNo具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private void LoadObjectAttribute(int keyword, int attributeNo) 參考用例:直接見接口模型(調用講明處出現)/檢測屬性的獵取是否合法,即是否初始化了/函數講明:檢測屬性的獵取是否合法,即是否初始化了合法將直接進行過程下一步操作。不合法和出現錯誤都將拋出錯誤(M3000220F)接口參數:屬性名稱:string fieldName具體調用:命名空間:

27、Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private void CheckAttributeIsInitialized(string fieldName)參考用例:直接見接口模型(調用講明處出現)/復位對象數據相關屬性/函數講明:復位對象數據相關屬性成功將直接復位對象的相關屬性,即按標準設置對象屬性的初始化值。出現錯誤都將拋出錯誤(M3000221F)接口參數:無具體調用:命名空間:Hotsales.子系統命名空間.BusinessData系統類名:ObjectData處理方法:private void ResetDataRelaAt

28、tributes()參考用例:直接見接口模型(調用講明處出現)/HS信息處理模式原理圖對象數據類差不多接口類名:ObjectData差不多常量和非公開域SYSTEM_NO定義該對象隸屬的子系統編碼,具體子系統編碼見系統架構.xlsglobalAtrributeArray全局屬性數組,與全局屬性串對應作用:提高檢測效率使用的差不多治理/操縱屬性CurrentAttributeNo只讀提供當前設置對象屬性的屬性編號假如是采納命名屬性串的方式,則值為“-1”作用:使用戶能夠檢測其在初始化對象的時候使用哪個初始化編號GlobalAttributeString只讀提供當前對象的用逗號隔開的全部命名屬性串

29、作用:用于生成標準SQL語句的命名屬性參考。CurrentAttributeString只讀提供設置當前對象屬性的命名屬性串假如用戶提供的內置編號,系統需要提供所有內置編號對應命名屬性串;假如用戶提供的是擴展編號,系統將從“T03-00010系統屬性設置配置策略.doc”配置文件中獵取命名屬性串;假如用戶采納的命名屬性串方式的擴展設置接口,則直接為擴展設置方式的命名屬性串。假如用戶初始化空對象,則給對象屬性賦值時,系統將自動裝配該屬性值。即用戶給了哪幾個屬性賦了值,系統將自動生成這幾個對象的命名屬性串。作用:用戶利用屬性值的時候能夠檢測該利用是否合法。CheckReadProperty可讀寫,

30、默認為“false”操縱用戶利用對象屬性值的時候,系統是否需要檢測,用戶是否設置了特定的屬性值。構造函數帶參數:ObjectData(int keyword, int attributeNo) /主鍵的具體命名和類型采納該對象對應的關鍵字的名稱和類型無參數:ObjectData(int keyword):this(keyword,2) 擴展屬性設置函數屬性編號:ExtendSetAttribute(int keyword, int attributeNo)命名屬性串:ExtendSetAttribute(int keyword, string attributeString)擴展屬性獵取函數p

31、ublic Hashtable ExtendGetAttribute(int keyword, string attributeString)維護函數void CreateObject(具體的數據屬性參數) 修訂01/創建對象void ModifyObject(具體的數據屬性參數) /綜合修改對象void ModifyObjectXX(具體的數據屬性參數) /修改對象指定的屬性,其中XX代表指定的屬性輔助接口private string ParseAttributeString(int attributeNo) /獵取指定屬性編號/用戶化屬性串對應的標準命名屬性串private string ParseAttributeString(string attributeString) /獵取指定屬性編號/用戶化屬性串對應的標準命名屬性串private DataTable GetGrivenAttributeInfos(int keyword, string attributeString) /依據命名屬性串從DA層獵取對應的數據private void SetAttributesFromDataTable(DataTa

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論