版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、企業(yè)級(jí)系統(tǒng)架構(gòu)的理解在我們剛開(kāi)始學(xué)習(xí)架構(gòu)的時(shí)候,首先會(huì)想到分層的概念,分層架構(gòu)比較經(jīng)典的是三層架構(gòu),那么,什么是三層架構(gòu)呢?它包括表現(xiàn)層,業(yè)務(wù)層,數(shù)據(jù)訪問(wèn)層;而對(duì)于一個(gè)新手來(lái)說(shuō),從抽象意義上的三層架構(gòu),邏輯上就劃分為三個(gè)層。 AD: 這個(gè)是最最基本的的三層架架構(gòu)模式式。表現(xiàn)層充充當(dāng)系統(tǒng)統(tǒng)的界面面呈現(xiàn)以以及UII邏輯的的角色,也就是是說(shuō),UUI(用用戶界面面)屬于于表現(xiàn)層層;舉一個(gè)對(duì)對(duì)于assp.nnet WebbForrm來(lái)說(shuō)說(shuō),人們們喜歡把把對(duì)于UUI的控控制邏輯輯(服務(wù)務(wù)器控件件的讀取取、設(shè)置置、事件件等等)寫(xiě)在頁(yè)頁(yè)面的后后置隱藏藏代碼中中,并且且依賴業(yè)業(yè)務(wù)邏輯輯層。當(dāng)當(dāng)然,服服務(wù)器控控件
2、支持持?jǐn)?shù)據(jù)綁綁定的功功能,可可以通過(guò)過(guò)數(shù)據(jù)源源進(jìn)行綁綁定控件件。這樣樣就可以以節(jié)省在在后置隱隱藏中的的代碼。因此,我我們就可可以把表表現(xiàn)層分分為UII用戶界界面以及及UI邏邏輯:UI用戶戶界面的的職責(zé)只只是作為為數(shù)據(jù)輸輸入和輸輸出后的的展示工工作。UI邏輯輯的職責(zé)責(zé)是負(fù)責(zé)責(zé)業(yè)務(wù)邏邏輯層以以及UII用戶界界面之間間的數(shù)據(jù)據(jù)交互,并且盡盡可能地地讓UII邏輯不不依賴于于UI技技術(shù)。其中UII用戶界界面的實(shí)實(shí)現(xiàn)方式式有很多多,包括括ASPP.NEET,WWinFFormm,WPPF,SSilvverllighht,移移動(dòng)Weeb,智智能設(shè)備備等等。將表現(xiàn)層層中UII頁(yè)面和和UI邏邏輯分離離的策略略中
3、,當(dāng)當(dāng)前使用用最多的的兩種模模式是MMVC模模式和MMVP模模式。MVC模模式,即即模型-視圖-控制器器模式,通過(guò)視視圖觸發(fā)發(fā)并執(zhí)行行某個(gè)操操作,調(diào)調(diào)用控制制器,通通過(guò)控制制器去操操作業(yè)務(wù)務(wù)層,最最終返回回模型,在視圖圖中進(jìn)行行展示。這里的的模型可可以是一一個(gè)領(lǐng)域域模型(DM),也可可以是一一個(gè)數(shù)據(jù)據(jù)遷移對(duì)對(duì)象(DDTO)。MVP模模式,即即模型-視圖-展示器器模式,和MVVC模式式有點(diǎn)像像,不同同的是MMVP中中視圖和和模型是是被完全全分離出出來(lái)的,視圖中中定義一一個(gè)接口口,而展展示器通通過(guò)調(diào)用用該接口口的方法法以控制制視圖。因此,視圖和和模型是是松散的的,展示示器也充充當(dāng)了一一個(gè)控制制器的
4、角角色,同同時(shí)它也也不依賴賴于UII技術(shù)。另外再介介紹一種種模式PPM(PPreeentaatioon MModeel),它可以以說(shuō)是MMVP的的變體,在PMM中,視視圖不定定義接口口,這里里的模型型只是表表示視圖圖狀態(tài)的的類,視視圖中的的元素被被直接綁綁定到模模型屬性性上。例例如在WWPF中中,WPPF就先先天的具具有數(shù)據(jù)據(jù)雙向綁綁定機(jī)制制以及事事件通知知屬性機(jī)機(jī)制。所以它特特別適用用于WPPF,SSlivverllighht等等等。在開(kāi)始業(yè)業(yè)務(wù)層之之前,不不得不說(shuō)說(shuō)一個(gè)前前提,在在一個(gè)小小型項(xiàng)目目中,直直接讓表表現(xiàn)層調(diào)調(diào)用業(yè)務(wù)務(wù)層,足足以解決決所有問(wèn)問(wèn)題。但但是,當(dāng)當(dāng)項(xiàng)目大大到使用用多種表
5、表現(xiàn)形式式,如使使用了各各種UII技術(shù),ASPP.NEET,WWPF,移動(dòng)設(shè)設(shè)備等等等,就要要考慮在在你的表表現(xiàn)層和和業(yè)務(wù)層層之間增增加一個(gè)個(gè)層,以以至于讓讓表現(xiàn)層層和業(yè)務(wù)務(wù)層解耦耦,因?yàn)闉闃I(yè)務(wù)層層作為一一個(gè)業(yè)務(wù)務(wù)中間件件的平臺(tái)臺(tái),最好好不要暴暴露于表表現(xiàn)層中中,這個(gè)個(gè)層就是是傳說(shuō)中中的服務(wù)務(wù)層。架架構(gòu)圖又又演化為為:服務(wù)層實(shí)實(shí)際上并并不執(zhí)行行任何具具體的工工作,其其功能在在于組織織各個(gè)業(yè)業(yè)務(wù)對(duì)象象,服務(wù)務(wù)層將業(yè)業(yè)務(wù)層所所有的細(xì)細(xì)節(jié)對(duì)表表現(xiàn)層都都隱藏起起來(lái),服服務(wù)器將將組織業(yè)業(yè)務(wù)邏輯輯層中的的組件,并且通通過(guò)數(shù)據(jù)據(jù)遷移對(duì)對(duì)象(DDTO)與表現(xiàn)現(xiàn)層交互互,因此此就產(chǎn)生生一個(gè)DDTO模模型。為了實(shí)
6、現(xiàn)現(xiàn)服務(wù)的的可重用用性,需需要使用用服務(wù)接接口,表表現(xiàn)層通通過(guò)規(guī)定定的接口口訪問(wèn)功功能。服服務(wù)的實(shí)實(shí)現(xiàn)繼承承服務(wù)接接口,而而服務(wù)的的實(shí)現(xiàn)專專注于業(yè)業(yè)務(wù)層的的調(diào)用。對(duì)于服務(wù)務(wù)層,常常用的方方法包括括Webb服務(wù)、.NEET RRemootinng、RRestt以及WWCF技技術(shù)。本人比較較建議使使用WCCF作為為服務(wù),因?yàn)榭煽梢苑奖惚愕赝ㄟ^(guò)過(guò)配置達(dá)達(dá)到遠(yuǎn)程程調(diào)用服服務(wù)的目目的。服務(wù)層消消除了兩兩個(gè)表現(xiàn)現(xiàn)層和業(yè)業(yè)務(wù)層之之間的耦耦合,服服務(wù)層可可以實(shí)現(xiàn)現(xiàn)一個(gè)遠(yuǎn)遠(yuǎn)程接口口,達(dá)到到多UII技術(shù)甚甚至多平平臺(tái)上的的通信。當(dāng)然增加加服務(wù)層層也有缺缺點(diǎn),假假如使用用WCFF服務(wù),會(huì)增加加系統(tǒng)的的調(diào)用開(kāi)開(kāi)銷,進(jìn)
7、進(jìn)而影響響性能。業(yè)務(wù)層中中包含系系統(tǒng)所需需要業(yè)務(wù)務(wù)過(guò)程上上的實(shí)現(xiàn)現(xiàn),并與與下層的的數(shù)據(jù)訪訪問(wèn)層交交互。我們通常常也叫做做業(yè)務(wù)層層叫做業(yè)業(yè)務(wù)邏輯輯層,但但我認(rèn)為為業(yè)務(wù)邏邏輯層是是屬于業(yè)業(yè)務(wù)層的的一方面面,業(yè)務(wù)務(wù)邏輯更更專注于于業(yè)務(wù)上上邏輯算算法的實(shí)實(shí)現(xiàn)。因因?yàn)闃I(yè)務(wù)務(wù)層還可可以包括括其他的的方面。業(yè)務(wù)層必必須包括括對(duì)業(yè)務(wù)務(wù)實(shí)體盡盡心建模模的對(duì)象象模型,表達(dá)了了客戶的的所有策策略和需需求的業(yè)業(yè)務(wù)規(guī)則則,因此此就產(chǎn)生生了領(lǐng)域域模型。(PS:如果這這里你不不使用領(lǐng)領(lǐng)域模型型,那么么需要采采用業(yè)務(wù)務(wù)規(guī)則層層進(jìn)行業(yè)業(yè)務(wù)功能能上的業(yè)業(yè)務(wù)規(guī)則則的驗(yàn)證證和控制制)領(lǐng)域模型型包括對(duì)對(duì)實(shí)體的的屬性定定義,方方法定義義
8、以及實(shí)實(shí)體與實(shí)實(shí)體之間間的關(guān)系系。從這這個(gè)角度度上看,UMLL建模至至關(guān)重要要,通過(guò)過(guò)對(duì)UMML動(dòng)態(tài)態(tài)圖和靜靜態(tài)圖的的描述,可以映映射到領(lǐng)領(lǐng)域模型型中。從服務(wù)層層剛才講講到了DDTO模模型,這這里需要要一個(gè)機(jī)機(jī)制將DDTO轉(zhuǎn)轉(zhuǎn)化為領(lǐng)領(lǐng)域模型型,所以以產(chǎn)生了了DTOO映射層層(DTTOMaappeer)。另外業(yè)務(wù)務(wù)層還包包括核心心中間件件技術(shù),包括第第三方組組件,以以及工作作流引擎擎等等。業(yè)務(wù)層需需要考慮慮到一些些與數(shù)據(jù)據(jù)訪問(wèn)層層交互的的設(shè)計(jì)模模式,模模式中包包括事物物腳本模模式、表表模塊模模式、活活動(dòng)記錄錄模式、領(lǐng)域模模型模式式。事物腳本本模式是是通過(guò)方方法來(lái)執(zhí)執(zhí)行業(yè)務(wù)務(wù)流程,它是一一個(gè)過(guò)程程
9、式模型型,事物物腳本的的每個(gè)方方法都有有一個(gè)特特定的事事物腳本本,它側(cè)側(cè)重于業(yè)業(yè)務(wù)上一一系列流流程上的的順序操操作,它它實(shí)現(xiàn)起起來(lái)很簡(jiǎn)簡(jiǎn)單,但但是它有有個(gè)致命命的缺點(diǎn)點(diǎn)就是它它會(huì)造成成很多重重復(fù)的代代碼。表模塊模模式比起起事物腳腳本模式式,具有有一定的的結(jié)構(gòu),它的思思想也很很簡(jiǎn)單,每個(gè)數(shù)數(shù)據(jù)表都都定義一一個(gè)業(yè)務(wù)務(wù)組件(實(shí)體類類,實(shí)體體操作類類),在在.NEET中更更多的使使用DaataSSet作作為表模模型的數(shù)數(shù)據(jù)交互互。但是是它也有有一個(gè)缺缺點(diǎn)就是是它是從從數(shù)據(jù)庫(kù)庫(kù)驅(qū)動(dòng)它它不適合合于大量量的數(shù)據(jù)據(jù)表以及及數(shù)據(jù)表表之間的的復(fù)雜關(guān)關(guān)系?;顒?dòng)記錄錄模式中中的對(duì)象象中,可可以包含含數(shù)據(jù)和和方法。它接
10、近近于數(shù)據(jù)據(jù)表的結(jié)結(jié)構(gòu),它它的對(duì)象象中執(zhí)行行方法中中可以包包含CRRUD操操作,驗(yàn)驗(yàn)證算法法,以及及其他的的計(jì)算功功能。一一般來(lái)說(shuō)說(shuō),領(lǐng)域域模型不不是太復(fù)復(fù)雜,活活動(dòng)記錄錄模式是是個(gè)好選選擇。當(dāng)當(dāng)然他也也存在問(wèn)問(wèn)題,同同樣地,它對(duì)于于復(fù)雜的的業(yè)務(wù)上上,維護(hù)護(hù)的成本本也很高高,并且且如果需需求變更更導(dǎo)致數(shù)數(shù)據(jù)庫(kù)修修改,就就需要調(diào)調(diào)整記錄錄對(duì)象模模型中的的相關(guān)代代碼。經(jīng)典應(yīng)用用:LIINQ-TO-SQLL以及CCasttle ActtiveeReccordd。領(lǐng)域模型型模式是是從領(lǐng)域域驅(qū)動(dòng)設(shè)設(shè)計(jì)中衍衍生來(lái)的的,它是是以業(yè)務(wù)務(wù)為核心心的設(shè)計(jì)計(jì)模式。它對(duì)于于復(fù)雜的的業(yè)務(wù)邏邏輯,相相當(dāng)適用用。前三三種方
11、式式使用的的是以數(shù)數(shù)據(jù)驅(qū)動(dòng)動(dòng)方式,數(shù)據(jù)驅(qū)驅(qū)動(dòng)方式式特點(diǎn)簡(jiǎn)簡(jiǎn)單,但但是當(dāng)系系統(tǒng)到了了一定的的規(guī)模后后,就會(huì)會(huì)到難以以維護(hù)的的程度。數(shù)據(jù)訪問(wèn)問(wèn)層的目目的很明明確,主主要作為為提供數(shù)數(shù)據(jù)持久久化的功功能,包包括數(shù)據(jù)據(jù)的讀取取和寫(xiě)入入,另外外還必須須包括事事務(wù)處理理,并發(fā)發(fā)控制等等等。操作數(shù)據(jù)據(jù)庫(kù)的方方法可以以有兩種種方式,ORMM方式,ADOO.NEET方式式。ORM可可以采用用一些第第三方的的ORMM框架來(lái)來(lái)實(shí)現(xiàn),ADOO.NEET采用用ASPP.NEET自帶帶的數(shù)據(jù)據(jù)庫(kù)操作作來(lái)實(shí)現(xiàn)現(xiàn)。不同的數(shù)數(shù)據(jù)庫(kù)具具有不同同的持久久化實(shí)現(xiàn)現(xiàn),因此此這里添添加一個(gè)個(gè)存儲(chǔ)倉(cāng)倉(cāng)庫(kù)接口口層,來(lái)來(lái)適應(yīng)不不同的數(shù)數(shù)據(jù)庫(kù)實(shí)實(shí)現(xiàn),這這里你可可以使用用IOCC依賴注注入方式式進(jìn)行數(shù)數(shù)據(jù)庫(kù)選選型,可可以利用用Uniity、Sprringg.NEET、CCasttle的的IOCC容器等等等。最后各個(gè)個(gè)層中都都可以依依賴于公公共基礎(chǔ)礎(chǔ)設(shè)施層層。公共基礎(chǔ)礎(chǔ)設(shè)施層層可以包包括Coommoon通用用模塊,Loggginng日志志模塊,Exccepttionn異常模模塊,CConffiguurattionn配置模模塊,DDI依賴賴注入模模塊,單單元測(cè)試試模塊以以及第三三方組件件(例如如NHiiberrnatte、SSpriint.NETT、
溫馨提示
- 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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- Module10 Unit2第一課時(shí) 說(shuō)課稿 - 2024-2025學(xué)年外研版英語(yǔ)八年級(jí)上冊(cè)
- 廚房電器生產(chǎn)流程優(yōu)化與效率提升考核試卷
- 加強(qiáng)安全防范意識(shí)推進(jìn)安全生產(chǎn)培訓(xùn)考核試卷
- 寵物殯葬服務(wù)考核試卷
- 2006年江蘇無(wú)錫中考滿分作文《門(mén)其實(shí)開(kāi)著》13
- 2006年湖北隨州中考滿分作文《幸福在身邊》2
- 8 安全地玩 第二課時(shí) 說(shuō)課稿-2023-2024學(xué)年道德與法治二年級(jí)下冊(cè)統(tǒng)編版
- 7《家務(wù)勞動(dòng)我能理》(說(shuō)課稿)-2023-2024學(xué)年三年級(jí)上冊(cè)綜合實(shí)踐活動(dòng)魯科版(五四學(xué)制)
- 2025年冀教版九年級(jí)科學(xué)下冊(cè)階段測(cè)試試卷含答案
- 2024環(huán)保型擠塑板訂購(gòu)協(xié)議版B版
- 小兒甲型流感護(hù)理查房
- 霧化吸入療法合理用藥專家共識(shí)(2024版)解讀
- 寒假作業(yè)(試題)2024-2025學(xué)年五年級(jí)上冊(cè)數(shù)學(xué) 人教版(十二)
- 銀行信息安全保密培訓(xùn)
- 市政道路工程交通疏解施工方案
- 2024年部編版初中七年級(jí)上冊(cè)歷史:部分練習(xí)題含答案
- 拆遷評(píng)估機(jī)構(gòu)選定方案
- 床旁超聲監(jiān)測(cè)胃殘余量
- 上海市松江區(qū)市級(jí)名校2025屆數(shù)學(xué)高一上期末達(dá)標(biāo)檢測(cè)試題含解析
- 綜合實(shí)踐活動(dòng)教案三上
- 《新能源汽車電氣設(shè)備構(gòu)造與維修》項(xiàng)目三 新能源汽車照明與信號(hào)系統(tǒng)檢修
評(píng)論
0/150
提交評(píng)論