




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、企業(yè)級(jí)系統(tǒng)架構(gòu)的理解在我們剛開始學(xué)習(xí)架構(gòu)的時(shí)候,首先會(huì)想到分層的概念,分層架構(gòu)比較經(jīng)典的是三層架構(gòu),那么,什么是三層架構(gòu)呢?它包括表現(xiàn)層,業(yè)務(wù)層,數(shù)據(jù)訪問層;而對(duì)于一個(gè)新手來說,從抽象意義上的三層架構(gòu),邏輯上就劃分為三個(gè)層。 AD: 這個(gè)是最基基本的三三層架構(gòu)構(gòu)模式。表現(xiàn)層充當(dāng)當(dāng)系統(tǒng)的的界面呈呈現(xiàn)以及及UI邏邏輯的角角色,也也就是說說,UII(用戶戶界面)屬于表表現(xiàn)層;舉一個(gè)對(duì)于于aspp.neet WWebFFormm來說,人人們喜歡歡把對(duì)于于UI的的控制邏邏輯(服服務(wù)器控控件的讀讀取、設(shè)設(shè)置、事事件等等等)寫在在頁面的的后置隱隱藏代碼碼中,并并且依賴賴業(yè)務(wù)邏邏輯層。當(dāng)當(dāng)然,服服務(wù)器控控件支
2、持持?jǐn)?shù)據(jù)綁綁定的功功能,可可以通過過數(shù)據(jù)源源進(jìn)行綁綁定控件件。這樣樣就可以以節(jié)省在在后置隱隱藏中的的代碼。因此,我們們就可以以把表現(xiàn)現(xiàn)層分為為UI用用戶界面面以及UUI邏輯輯:UI用戶界界面的職職責(zé)只是是作為數(shù)數(shù)據(jù)輸入入和輸出出后的展展示工作作。UI邏輯的的職責(zé)是是負(fù)責(zé)業(yè)業(yè)務(wù)邏輯輯層以及及UI用用戶界面面之間的的數(shù)據(jù)交交互,并并且盡可可能地讓讓UI邏邏輯不依依賴于UUI技術(shù)術(shù)。其中UI用用戶界面面的實(shí)現(xiàn)現(xiàn)方式有有很多,包包括ASSP.NNET,WWinFFormm,WPPF,SSilvverllighht,移移動(dòng)Weeb,智智能設(shè)備備等等。將表現(xiàn)層中中UI頁頁面和UUI邏輯輯分離的的策略中中,
3、當(dāng)前前使用最最多的兩兩種模式式是MVVC模式式和MVVP模式式。MVC模式式,即模模型-視視圖-控控制器模模式,通通過視圖圖觸發(fā)并并執(zhí)行某某個(gè)操作作,調(diào)用用控制器器,通過過控制器器去操作作業(yè)務(wù)層層,最終終返回模模型,在在視圖中中進(jìn)行展展示。這這里的模模型可以以是一個(gè)個(gè)領(lǐng)域模模型(DDM),也也可以是是一個(gè)數(shù)數(shù)據(jù)遷移移對(duì)象(DTOO)。MVP模式式,即模模型-視視圖-展展示器模模式,和和MVCC模式有有點(diǎn)像,不不同的是是MVPP中視圖圖和模型型是被完完全分離離出來的的,視圖圖中定義義一個(gè)接接口,而而展示器器通過調(diào)調(diào)用該接接口的方方法以控控制視圖圖。因此此,視圖圖和模型型是松散散的,展展示器也也充
4、當(dāng)了了一個(gè)控控制器的的角色,同同時(shí)它也也不依賴賴于UII技術(shù)。另外再介紹紹一種模模式PMM(Prreenntattionn Moodell),它它可以說說是MVVP的變變體,在在PM中中,視圖圖不定義義接口,這這里的模模型只是是表示視視圖狀態(tài)態(tài)的類,視視圖中的的元素被被直接綁綁定到模模型屬性性上。例例如在WWPF中中,WPPF就先先天的具具有數(shù)據(jù)據(jù)雙向綁綁定機(jī)制制以及事事件通知知屬性機(jī)機(jī)制。所以它特別別適用于于WPFF,Slliveerliightt等等。在開始業(yè)務(wù)務(wù)層之前前,不得得不說一一個(gè)前提提,在一一個(gè)小型型項(xiàng)目中中,直接接讓表現(xiàn)現(xiàn)層調(diào)用用業(yè)務(wù)層層,足以以解決所所有問題題。但是是,當(dāng)項(xiàng)項(xiàng)
5、目大到到使用多多種表現(xiàn)現(xiàn)形式,如如使用了了各種UUI技術(shù)術(shù),ASSP.NNET,WWPF,移移動(dòng)設(shè)備備等等,就就要考慮慮在你的的表現(xiàn)層層和業(yè)務(wù)務(wù)層之間間增加一一個(gè)層,以以至于讓讓表現(xiàn)層層和業(yè)務(wù)務(wù)層解耦耦,因?yàn)闉闃I(yè)務(wù)層層作為一一個(gè)業(yè)務(wù)務(wù)中間件件的平臺(tái)臺(tái),最好好不要暴暴露于表表現(xiàn)層中中,這個(gè)個(gè)層就是是傳說中中的服務(wù)務(wù)層。架架構(gòu)圖又又演化為為:服務(wù)層實(shí)際際上并不不執(zhí)行任任何具體體的工作作,其功功能在于于組織各各個(gè)業(yè)務(wù)務(wù)對(duì)象,服務(wù)層層將業(yè)務(wù)務(wù)層所有有的細(xì)節(jié)節(jié)對(duì)表現(xiàn)現(xiàn)層都隱隱藏起來來,服務(wù)務(wù)器將組組織業(yè)務(wù)務(wù)邏輯層層中的組組件,并并且通過過數(shù)據(jù)遷遷移對(duì)象象(DTTO)與與表現(xiàn)層層交互,因此就就產(chǎn)生一一個(gè)D
6、TTO模型型。為了實(shí)現(xiàn)服服務(wù)的可可重用性性,需要要使用服服務(wù)接口口,表現(xiàn)現(xiàn)層通過過規(guī)定的的接口訪訪問功能能。服務(wù)務(wù)的實(shí)現(xiàn)現(xiàn)繼承服服務(wù)接口口,而服服務(wù)的實(shí)實(shí)現(xiàn)專注注于業(yè)務(wù)務(wù)層的調(diào)調(diào)用。對(duì)于服務(wù)層層,常用用的方法法包括WWeb服服務(wù)、.NETT Reemottingg、Reest以以及WCCF技術(shù)術(shù)。本人比較建建議使用用WCFF作為服服務(wù),因因?yàn)榭梢砸苑奖愕氐赝ㄟ^配配置達(dá)到到遠(yuǎn)程調(diào)調(diào)用服務(wù)務(wù)的目的的。服務(wù)層消除除了兩個(gè)個(gè)表現(xiàn)層層和業(yè)務(wù)務(wù)層之間間的耦合合,服務(wù)務(wù)層可以以實(shí)現(xiàn)一一個(gè)遠(yuǎn)程程接口,達(dá)達(dá)到多UUI技術(shù)術(shù)甚至多多平臺(tái)上上的通信信。當(dāng)然增加服服務(wù)層也也有缺點(diǎn)點(diǎn),假如如使用WWCF服服務(wù),會(huì)會(huì)增加
7、系系統(tǒng)的調(diào)調(diào)用開銷銷,進(jìn)而而影響性性能。業(yè)務(wù)層中包包含系統(tǒng)統(tǒng)所需要要業(yè)務(wù)過過程上的的實(shí)現(xiàn),并并與下層層的數(shù)據(jù)據(jù)訪問層層交互。我們通常也也叫做業(yè)業(yè)務(wù)層叫叫做業(yè)務(wù)務(wù)邏輯層層,但我我認(rèn)為業(yè)業(yè)務(wù)邏輯輯層是屬屬于業(yè)務(wù)務(wù)層的一一方面,業(yè)業(yè)務(wù)邏輯輯更專注注于業(yè)務(wù)務(wù)上邏輯輯算法的的實(shí)現(xiàn)。因因?yàn)闃I(yè)務(wù)務(wù)層還可可以包括括其他的的方面。業(yè)務(wù)層必須須包括對(duì)對(duì)業(yè)務(wù)實(shí)實(shí)體盡心心建模的的對(duì)象模模型,表表達(dá)了客客戶的所所有策略略和需求求的業(yè)務(wù)務(wù)規(guī)則,因因此就產(chǎn)產(chǎn)生了領(lǐng)領(lǐng)域模型型。(PS:如如果這里里你不使使用領(lǐng)域域模型,那那么需要要采用業(yè)業(yè)務(wù)規(guī)則則層進(jìn)行行業(yè)務(wù)功功能上的的業(yè)務(wù)規(guī)規(guī)則的驗(yàn)驗(yàn)證和控控制)領(lǐng)域模型包包括對(duì)實(shí)實(shí)體的屬屬
8、性定義義,方法法定義以以及實(shí)體體與實(shí)體體之間的的關(guān)系。從從這個(gè)角角度上看看,UMML建模模至關(guān)重重要,通通過對(duì)UUML動(dòng)動(dòng)態(tài)圖和和靜態(tài)圖圖的描述述,可以以映射到到領(lǐng)域模模型中。從服務(wù)層剛剛才講到到了DTTO模型型,這里里需要一一個(gè)機(jī)制制將DTTO轉(zhuǎn)化化為領(lǐng)域域模型,所所以產(chǎn)生生了DTTO映射射層(DDTOMMappper)。另外業(yè)務(wù)層層還包括括核心中中間件技技術(shù),包包括第三三方組件件,以及及工作流流引擎等等等。業(yè)務(wù)層需要要考慮到到一些與與數(shù)據(jù)訪訪問層交交互的設(shè)設(shè)計(jì)模式式,模式式中包括括事物腳腳本模式式、表模模塊模式式、活動(dòng)動(dòng)記錄模模式、領(lǐng)領(lǐng)域模型型模式。事物腳本模模式是通通過方法法來執(zhí)行行業(yè)務(wù)
9、流流程,它它是一個(gè)個(gè)過程式式模型,事事物腳本本的每個(gè)個(gè)方法都都有一個(gè)個(gè)特定的的事物腳腳本,它它側(cè)重于于業(yè)務(wù)上上一系列列流程上上的順序序操作,它它實(shí)現(xiàn)起起來很簡簡單,但但是它有有個(gè)致命命的缺點(diǎn)點(diǎn)就是它它會(huì)造成成很多重重復(fù)的代代碼。表模塊模式式比起事事物腳本本模式,具具有一定定的結(jié)構(gòu)構(gòu),它的的思想也也很簡單單,每個(gè)個(gè)數(shù)據(jù)表表都定義義一個(gè)業(yè)業(yè)務(wù)組件件(實(shí)體體類,實(shí)實(shí)體操作作類),在在.NEET中更更多的使使用DaataSSet作作為表模模型的數(shù)數(shù)據(jù)交互互。但是是它也有有一個(gè)缺缺點(diǎn)就是是它是從從數(shù)據(jù)庫庫驅(qū)動(dòng)它它不適合合于大量量的數(shù)據(jù)據(jù)表以及及數(shù)據(jù)表表之間的的復(fù)雜關(guān)關(guān)系?;顒?dòng)記錄模模式中的的對(duì)象中中,可
10、以以包含數(shù)數(shù)據(jù)和方方法。它它接近于于數(shù)據(jù)表表的結(jié)構(gòu)構(gòu),它的的對(duì)象中中執(zhí)行方方法中可可以包含含CRUUD操作作,驗(yàn)證證算法,以以及其他他的計(jì)算算功能。一一般來說說,領(lǐng)域域模型不不是太復(fù)復(fù)雜,活活動(dòng)記錄錄模式是是個(gè)好選選擇。當(dāng)當(dāng)然他也也存在問問題,同同樣地,它它對(duì)于復(fù)復(fù)雜的業(yè)業(yè)務(wù)上,維維護(hù)的成成本也很很高,并并且如果果需求變變更導(dǎo)致致數(shù)據(jù)庫庫修改,就就需要調(diào)調(diào)整記錄錄對(duì)象模模型中的的相關(guān)代代碼。經(jīng)典應(yīng)用:LINNQ-TTO-SSQL以以及Caastlle AActiiveRRecoord。領(lǐng)域模型模模式是從從領(lǐng)域驅(qū)驅(qū)動(dòng)設(shè)計(jì)計(jì)中衍生生來的,它它是以業(yè)業(yè)務(wù)為核核心的設(shè)設(shè)計(jì)模式式。它對(duì)對(duì)于復(fù)雜雜的業(yè)務(wù)務(wù)
11、邏輯,相相當(dāng)適用用。前三三種方式式使用的的是以數(shù)數(shù)據(jù)驅(qū)動(dòng)動(dòng)方式,數(shù)數(shù)據(jù)驅(qū)動(dòng)動(dòng)方式特特點(diǎn)簡單單,但是是當(dāng)系統(tǒng)統(tǒng)到了一一定的規(guī)規(guī)模后,就就會(huì)到難難以維護(hù)護(hù)的程度度。數(shù)據(jù)訪問層層的目的的很明確確,主要要作為提提供數(shù)據(jù)據(jù)持久化化的功能能,包括括數(shù)據(jù)的的讀取和和寫入,另另外還必必須包括括事務(wù)處處理,并并發(fā)控制制等等。操作數(shù)據(jù)庫庫的方法法可以有有兩種方方式,OORM方方式,AADO.NETT方式。ORM可以以采用一一些第三三方的OORM框框架來實(shí)實(shí)現(xiàn),AADO.NETT采用AASP.NETT自帶的的數(shù)據(jù)庫庫操作來來實(shí)現(xiàn)。不同的數(shù)據(jù)據(jù)庫具有有不同的的持久化化實(shí)現(xiàn),因因此這里里添加一一個(gè)存儲(chǔ)儲(chǔ)倉庫接接口層,來來適應(yīng)不不同的數(shù)數(shù)據(jù)庫實(shí)實(shí)現(xiàn),這這里你可可以使用用IOCC依賴注注入方式式進(jìn)行數(shù)數(shù)據(jù)庫選選型,可可以利用用Uniity、SSpriing.NETT、Caastlle的IIOC容容器等等等。最后各個(gè)層層中都可可以依賴賴于公共共基礎(chǔ)設(shè)設(shè)施層。公共基礎(chǔ)設(shè)設(shè)施層可可以包括括Commmonn通用模模塊,LLogggingg日志模模塊,EExceeptiion異異常模塊塊,Coonfiigurratiion配配置模塊塊,DII依賴注注入模塊塊,單元元測試模模塊以及及第三方方組件(例如NNHibbernnatee、Spprinnt.NNET、C
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2026學(xué)年南昌市數(shù)學(xué)三年級(jí)第一學(xué)期期末學(xué)業(yè)水平測試試題含解析
- 2024年湘西土家族苗族自治州永順縣數(shù)學(xué)三年級(jí)第一學(xué)期期末綜合測試試題含解析
- 棕色中國風(fēng)清明上河圖
- 2025年行政管理語文能力規(guī)劃試題及答案
- 完備復(fù)習(xí)資料執(zhí)業(yè)醫(yī)師考試試題及答案
- 自考行政管理課程總結(jié)試題及答案
- 微創(chuàng)手術(shù)技術(shù)執(zhí)業(yè)醫(yī)師考試試題及答案
- 執(zhí)業(yè)護(hù)士考試科學(xué)護(hù)理論證題目試題及答案
- 自考行政管理科研方向試題及答案探討
- 醫(yī)學(xué)文獻(xiàn)檢索技巧試題及答案探討
- 餐飲抽成合同協(xié)議書
- 大神心理測試題及答案
- 低值易耗品試題及答案
- 2025春季學(xué)期國開河南電大本科《行政管理理論與實(shí)踐專題講座》一平臺(tái)無紙化考試(作業(yè)練習(xí)+我要考試)試題及答案
- 國家開放大學(xué)《人文英語4》邊學(xué)邊練參考答案
- 01-《數(shù)值分析》實(shí)驗(yàn)指導(dǎo)書
- 第四章 潛孔鉆機(jī)
- 佳能700D單反相機(jī)拍攝技巧[技巧]
- 農(nóng)產(chǎn)品批發(fā)市場管理技術(shù)規(guī)范編制說明
- 重慶市婚姻介紹合同協(xié)議書范本模板
- 律師事務(wù)所調(diào)查取證專用介紹信
評(píng)論
0/150
提交評(píng)論