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

正文內(nèi)容

j2ee項目實訓(xùn)uml及設(shè)計模式——第7章架構(gòu)設(shè)計中的架構(gòu)模式第1部分(參考版)

2024-11-20 17:12本頁面
  

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