freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

j2ee項(xiàng)目實(shí)訓(xùn)uml及設(shè)計(jì)模式——第7章架構(gòu)設(shè)計(jì)中的架構(gòu)模式(第1部分(文件)

 

【正文】 組合在一起的,特別是系統(tǒng)中的核心應(yīng)用邏輯的功能具體實(shí)現(xiàn)與用戶訪問(wèn)接口的表示層的具體實(shí)現(xiàn)技術(shù)捆綁在一起。 如何解決上面所提及的各個(gè)問(wèn)題 對(duì)上面所提及的“非分層架構(gòu)設(shè)計(jì)時(shí)對(duì)應(yīng)用系統(tǒng)所可能帶來(lái)的問(wèn)題”解決的具體方案是采用層架構(gòu)模式,并且基于下面的 分層設(shè)計(jì)策略實(shí)現(xiàn)。系統(tǒng)經(jīng)過(guò)這樣的初步分層后,問(wèn)題的復(fù)雜性將會(huì)被降低、同時(shí)相關(guān)所要解決的技術(shù)難題也將分散到不同的層面中,并委托不同的技術(shù)特長(zhǎng)的開(kāi)發(fā)人員來(lái)解決;再進(jìn)一步地對(duì)該分層設(shè)計(jì)進(jìn)行優(yōu)化和根據(jù)系 統(tǒng)中的具體性能的要求、項(xiàng)目以后的可能變化因素,再進(jìn)一步地細(xì)分。 層之間應(yīng)該通過(guò)接口實(shí)施 聯(lián)接,也就是遵守“面向接口編程實(shí)現(xiàn)”的 設(shè)計(jì)原則 。 在系統(tǒng)的架構(gòu)設(shè)計(jì)上,通??梢岳瞄T(mén)面(外觀)、控制器、中介等架構(gòu)模式來(lái)實(shí)現(xiàn)系統(tǒng)設(shè)計(jì)中的層 與層之間的相互 關(guān)聯(lián)和 協(xié)作。 ( 2)利用 門(mén)面架構(gòu)模式 分離復(fù)雜的 “多對(duì)多”的 關(guān)聯(lián) 形式 下面的圖 給出了 利用門(mén)面(外觀)架構(gòu)模式實(shí)現(xiàn) 各層之間的關(guān)聯(lián)和 協(xié)作 的原理示圖,在此種 形式的系統(tǒng)架構(gòu)中,通過(guò)門(mén)面組件能夠隔離客戶層和子系統(tǒng)本身之間的緊密藕合關(guān)系。該 DAO 服務(wù)組件其實(shí)就是網(wǎng)上商城系統(tǒng)中的持久層的門(mén)面組件。下面的圖 所示為網(wǎng)上商城項(xiàng)目中的 DAO 服務(wù)層和系楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán) 所有,盜版必究 , 13/17 頁(yè) 統(tǒng)的持久 層之間的類圖。 圖 利用 控制器模式 實(shí)現(xiàn)“ 表示層”和“模型層”之間的關(guān)聯(lián)和 協(xié)作 利用 控制器模式 進(jìn)行系統(tǒng)分層和架構(gòu)的典型應(yīng)用示例是 Apache Struts 框架,在 Struts框架中的控制層組件是由一個(gè)前端控制器 ActionServlet 組件和相關(guān)的多個(gè)不同的后端業(yè)務(wù)控制器 Action 類組件所構(gòu)成的。 從而降低這些對(duì)象之間的耦合性 、也為系統(tǒng)的后期維護(hù)和完善帶來(lái)隱患。從整個(gè)系統(tǒng)的總體的全局的角度來(lái)看時(shí),系統(tǒng)中的各個(gè)組件之間的交互關(guān)系將會(huì)很復(fù)雜,同時(shí)系統(tǒng)的藕合性也是緊密的關(guān)聯(lián)關(guān)系。 所應(yīng)該注意的是, 中介架構(gòu)模 式 從 應(yīng)用目的 方面與前面所描述的“ 門(mén)面模式 ” 有 一定的 相似 之處 。它是被客戶所感知的,而原有的復(fù)雜 業(yè)務(wù) 邏輯則被隱藏了起來(lái)。對(duì)產(chǎn)生緊密藕合關(guān)系的各個(gè)包需要進(jìn)行分離,從而也就達(dá)到層與層之間的 “松散的分層”設(shè)計(jì)目標(biāo)。 提出這樣的設(shè)計(jì)目標(biāo)的主要目的是希望能夠達(dá)到某一層中的各個(gè)組件能夠得到最大化的重用,同時(shí)也提高了整個(gè)系統(tǒng)的可擴(kuò)展性。但是 與“變化點(diǎn)”的耦合是不穩(wěn)定的而且是難于修正的,設(shè)計(jì)人員 應(yīng)該盡可能地避免與這樣形式的組件產(chǎn)生 緊密的 耦合 關(guān)系 。但業(yè)務(wù)層的可序列化對(duì)象(通常稱之為值對(duì)象 VO 或者數(shù)據(jù)傳送對(duì)象 DTO)通常是可以被傳遞到表示 層中,并被顯示輸出。 很多情況下,需要使用配置文件來(lái) 達(dá)到 動(dòng)態(tài)裝配 的目標(biāo) ,這樣才能 真正地 適應(yīng)不同 場(chǎng)合下 的需求。 。 并根據(jù)對(duì)象 創(chuàng)建 的復(fù)雜性,選擇工廠方法和抽象工廠 模式 。因此為了能夠?qū)崿F(xiàn)層之間的松藕合的關(guān)聯(lián),可以應(yīng)用反射技術(shù)來(lái)動(dòng)態(tài)地裝入目標(biāo)層中的有關(guān)的類對(duì)象。 例如,建 立一個(gè) Java 應(yīng)用程序,隱蔽對(duì) Java JDK API 類庫(kù)的訪問(wèn)有什么意義呢?因?yàn)椋c類庫(kù)的多個(gè)緊密耦合不太可能是個(gè)問(wèn)題,因?yàn)樗鼈兪窍鄬?duì)穩(wěn)定而且無(wú)處不在 的 —— 這可以 通過(guò) JRE( Java Runtime Envirment) 來(lái)提供。 對(duì)于分層設(shè)計(jì)中的各個(gè)層之間耦合的觀點(diǎn) ( 1)系統(tǒng)中所有較高的層都可以依賴于技術(shù)服務(wù)層和基礎(chǔ) API 層 比如在 Java 中,所有的層都可以依賴于 JDK 中的各個(gè) API 包元素。 本項(xiàng)目的系統(tǒng)架構(gòu)遵循了 J2EE 平臺(tái)的系統(tǒng)開(kāi)發(fā)中兩個(gè)主要的原則:“多層架構(gòu)、松藕合”,同時(shí)系統(tǒng)通過(guò)應(yīng)用三大框架( Struts+ Spring+ Hibernate),應(yīng)用系統(tǒng)中的各個(gè)組件模塊功能相互獨(dú)立封裝,層與層之間關(guān)聯(lián)少、并保持松耦合的關(guān)聯(lián)。 ( 4) 中介架構(gòu) 和門(mén) 面 架構(gòu)模 式 在后端的服務(wù)提供者的各個(gè)組件之間的關(guān)系方面也是不同的 門(mén)面模式 中的后端的服務(wù)提供者之間是可以相互關(guān)聯(lián)的(請(qǐng)見(jiàn)圖 中的各個(gè)組件之間是允許交互的);而在 中介者模式 中,則是 斷絕 后端的服務(wù)提供者( 各個(gè)同事類 ) 之間的直接交互 (比如在圖 所示中的“ 汽車銷售商 ”此時(shí)也不再與“ 商業(yè)銀行 ”進(jìn)行直接交互,它們之間也通過(guò) 中介者 組件來(lái)實(shí)現(xiàn)交互)。 ( 2) 中介架構(gòu)模 式 和門(mén) 面 架構(gòu)模 式 在應(yīng)用的場(chǎng)合方面是不同的 門(mén)面模式是介于客戶 端 程序與子系統(tǒng)之間的,而中介者模式是介于子系統(tǒng)與子系統(tǒng)之間的。對(duì)圖 中所示的問(wèn)題,應(yīng)用 中介架構(gòu)模 式 設(shè)計(jì)后的結(jié)果請(qǐng)見(jiàn)下面的圖 所示, 中介架構(gòu)模 式 從分層的效果來(lái)看是比 較好的分層策略。如果從類的設(shè)計(jì)的角度來(lái),購(gòu)車者類與其它的各個(gè)類之間的關(guān)系請(qǐng)見(jiàn)下 面的圖 所示。 控制調(diào)度層 表示層中的請(qǐng)求 業(yè)務(wù)處理層 表示層中的業(yè)務(wù)成功顯示 數(shù)據(jù)訪問(wèn)層 表示層中的業(yè)務(wù)失敗顯示 前端控制器 業(yè)務(wù)調(diào)度控制器 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán) 所有,盜版必究 , 14/17 頁(yè) 圖 控制器模式在 Struts 框架中的具體應(yīng)用示圖 利用中介架構(gòu)模 式 實(shí)現(xiàn)用一個(gè)中介對(duì)象把一系列的對(duì)象交互封裝 ( 1) 利用中介架構(gòu) 模 式可以降低系統(tǒng)的復(fù)雜性和提高可擴(kuò)展性 由于類 之間存在 “ 多對(duì)多 ” 的關(guān)系 (每個(gè)對(duì)象所在的層也將緊密藕合),從而導(dǎo)致 各個(gè) 類 之間的交互操作非常多, 同時(shí) 每個(gè) 類 的行為操作都依賴 于 彼此對(duì)方。其中的 控制 器組件一般都設(shè)計(jì)為 前端控制器 和 業(yè)務(wù)調(diào)度控制器 兩種不同的形式。 圖 網(wǎng)上商城項(xiàng)目的系統(tǒng)架構(gòu)示圖 當(dāng)然,為了將項(xiàng)目中的表示層和系統(tǒng)中的業(yè)務(wù)處理層之間的關(guān)系也希望能夠隔離開(kāi),比如考慮到應(yīng)用系統(tǒng)以后將可能需要面對(duì)其它形式的表示層的客戶端的設(shè)備(如手機(jī)、應(yīng)用程序的桌面客戶端等)在具體的系統(tǒng)架構(gòu)時(shí)也可以應(yīng)用“業(yè)務(wù)外觀組件”。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán) 所有,盜版必究 , 12/17 頁(yè) 圖 利用門(mén)面架構(gòu)模式實(shí)現(xiàn) 各層之間的關(guān)聯(lián)和 協(xié)作的原理示圖 門(mén)面架構(gòu)模式 在網(wǎng)上商城項(xiàng)目中的具體應(yīng)用示例 在網(wǎng)上商城項(xiàng)目的系統(tǒng)架構(gòu)中,由于希望能夠達(dá)到徹底地隔離業(yè)務(wù)處理層和系統(tǒng)的持久層之間的關(guān)系,從而使得業(yè)務(wù)邏輯組件有更好地重用性。從而導(dǎo)致層與層之間的關(guān)聯(lián)關(guān)系出現(xiàn)“多對(duì)多”的連接形式,請(qǐng)見(jiàn)下面的圖 中所示的訪問(wèn)狀態(tài)。而對(duì)層內(nèi)的各個(gè)組件、層與層之間的關(guān)聯(lián)等的具體實(shí)現(xiàn),則可以運(yùn)用代碼設(shè)計(jì)模式進(jìn)行簡(jiǎn)化功能實(shí)現(xiàn)。所應(yīng)該把握的是要達(dá)到從較高的層到較低的層進(jìn)行協(xié)作和耦合(高層應(yīng)該依賴下層),避免從底層到高層的耦合。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán) 所有,盜版必究 , 10/17 頁(yè) ( 1)系統(tǒng)分層時(shí)應(yīng)該遵守“高內(nèi)聚、低藕合”的職責(zé)設(shè)計(jì)
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1