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

正文內(nèi)容

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

2022-12-29 17:12:21 本頁面
  

【正文】 織到不同的層中, 每一層都具有獨立和相關(guān)的職責(zé),使得較低的層成為低級和通用的服務(wù),較高的層將能夠獲得更多的不同服務(wù)。 比如,將應(yīng)用系統(tǒng)中所有涉及與數(shù)據(jù)持久化相關(guān)的功能實現(xiàn)(這包括數(shù)據(jù)庫訪問、 XML解析、文件 IO 等)都合并入到系統(tǒng)的持久層中,而將系統(tǒng)中的所有的輸入、輸出相關(guān)的功能實現(xiàn)都并入到表示層中,而與領(lǐng)域業(yè)務(wù)相關(guān)的功能邏輯都?xì)w納到系統(tǒng)中的業(yè)務(wù)處理層。系統(tǒng)經(jīng)過這樣的初步分層后,問題的復(fù)雜性將會被降低、同時相關(guān)所要解決的技術(shù)難題也將分散到不同的層面中,并委托不同的技術(shù)特長的開發(fā)人員來解決;再進(jìn)一步地對該分層設(shè)計進(jìn)行優(yōu)化和根據(jù)系 統(tǒng)中的具體性能的要求、項目以后的可能變化因素,再進(jìn)一步地細(xì)分。 ( 2)各個層之間進(jìn)行關(guān)聯(lián)時 應(yīng)該 遵守“面向接口編程實現(xiàn)”的 設(shè)計原則 由于應(yīng)用系統(tǒng)被分離為不同的層,因此各個層必須相互組合和協(xié)作才能構(gòu)成整個應(yīng)用系統(tǒng)的功能要求,這樣將不可避免地要考慮層之間如何進(jìn)行關(guān)聯(lián)的問題。所應(yīng)該把握的是要達(dá)到從較高的層到較低的層進(jìn)行協(xié)作和耦合(高層應(yīng)該依賴下層),避免從底層到高層的耦合。 應(yīng)用 系統(tǒng)的健壯性、靈活性、可重用性、可升級性和可維護(hù)性,在很大程度上取決于應(yīng)用系統(tǒng)中的分層策略和各層之間的關(guān)聯(lián) 的設(shè)計。 層之間應(yīng)該通過接口實施 聯(lián)接,也就是遵守“面向接口編程實現(xiàn)”的 設(shè)計原則 。 ( 3) 通過系統(tǒng)架構(gòu)模式和代碼設(shè)計模式對分層策略進(jìn)行優(yōu)化 當(dāng)對系統(tǒng)的分層設(shè)計產(chǎn)生出了實現(xiàn)方案時,再應(yīng)用系統(tǒng)架構(gòu)模式來規(guī)范系統(tǒng)中的分層實現(xiàn)。而對層內(nèi)的各個組件、層與層之間的關(guān)聯(lián)等的具體實現(xiàn),則可以運用代碼設(shè)計模式進(jìn)行簡化功能實現(xiàn)。 應(yīng)用 層架構(gòu)模式時如何實現(xiàn)各層之間的關(guān)聯(lián) 如何實現(xiàn)系統(tǒng)中 各層之間的關(guān)聯(lián)和 協(xié)作 ?當(dāng)然,我們的設(shè)計目標(biāo)應(yīng)該是達(dá)到 “高內(nèi)聚、低藕合” 的設(shè)計效果。 在系統(tǒng)的架構(gòu)設(shè)計上,通常可以利用門面(外觀)、控制器、中介等架構(gòu)模式來實現(xiàn)系統(tǒng)設(shè)計中的層 與層之間的相互 關(guān)聯(lián)和 協(xié)作。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán) 所有,盜版必究 , 11/17 頁 利用系統(tǒng)架構(gòu)模式對 系統(tǒng)分層設(shè)計 進(jìn)行優(yōu)化 利用門面(外觀)架構(gòu)模式實現(xiàn) 各層之間的關(guān)聯(lián)和 協(xié)作 ( 1)常規(guī)的 “多對多”的連接形式 在應(yīng)用系統(tǒng)的分層設(shè)計中經(jīng)常會出現(xiàn)一種應(yīng)用的場景,在某一層中的各個組件需要訪問另一層中的不同功能組件以獲得不同的功能服務(wù)。從而導(dǎo)致層與層之間的關(guān)聯(lián)關(guān)系出現(xiàn)“多對多”的連接形式,請見下面的圖 中所示的訪問狀態(tài)。 圖 客戶層和子系統(tǒng)層之間的“多對多”的關(guān)系 示圖 比如,在系統(tǒng)業(yè)務(wù)處理層中的不同業(yè)務(wù)功能模塊 (它為 門面架構(gòu)模式 中的“ 客戶層” )都 需要利用系統(tǒng)持久層 (它為 門面架構(gòu)模式 中的“ 子系統(tǒng)” ) 中的不同數(shù)據(jù)訪問組件( DAO)進(jìn)行數(shù)據(jù)庫數(shù)據(jù)的訪問,在系統(tǒng)的控制調(diào)度層中的各個業(yè)務(wù)控制組件( Servlet 組件或者Struts 框架的 Action 組件 ,它們?yōu)?門面架構(gòu)模式 中的“ 客戶層” )也都需要訪問系統(tǒng)業(yè)務(wù)處理層 (它為 門面架構(gòu)模式 中的“ 子系統(tǒng)” ) 中的不同業(yè)務(wù)功能組件,所有這樣的問題都可以應(yīng)用門面(外觀)架構(gòu)模式來優(yōu)化。 ( 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)系。將原來圖 中所示的客戶層和子系統(tǒng)層之間的“多對多”的緊密關(guān)系分離為 兩個 “一對多”的松散藕合關(guān)系。 楊教授工作室 精心創(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ù)邏輯組件有更好地重用性。在業(yè)務(wù)處理層和系統(tǒng)的持久層之間添加了一個數(shù)據(jù)訪問服務(wù)層,并提供數(shù)據(jù)訪問服務(wù)( DAO 服務(wù))組 件。該 DAO 服務(wù)組件其實就是網(wǎng)上商城系統(tǒng)中的持久層的門面組件。下面的圖 所示為網(wǎng)上商城項目的系統(tǒng)架構(gòu)示圖,并請注意其中的黑體部分的描述文字。 圖 網(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ù)外觀組件”。同樣也請見圖 所示的系統(tǒng)分層架構(gòu)示圖。下面的圖 所示為網(wǎng)上商城項目中的 DAO 服務(wù)層和系楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán) 所有,盜版必究 , 13/17 頁 統(tǒng)的持久 層之間的類圖。 圖 網(wǎng)上商城項目中的 DAO 服務(wù)層和系統(tǒng)的持久層之間的類圖 利用 控制器模式 實現(xiàn)“ 表示層”和“模型層”之間的關(guān)聯(lián)和 協(xié)作 在很多表示層的框架系統(tǒng)中的架構(gòu)設(shè)計中,都應(yīng)用了 控制器模式 來 實現(xiàn)“ 表示層”和“模型層”之間的關(guān)聯(lián)和 協(xié)作 。其中的 控制 器組件一般都設(shè)計為 前端控制器 和 業(yè)務(wù)調(dià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)成的。下面的圖 所示,為 Struts 框架中的各個層中的組件的架構(gòu)示圖,從圖中可以看到,經(jīng)過 控制器模式 中的各個控制器組件的隔離后,將表示層組件中的各個 JSP 頁面和模型層組件中的各個業(yè)務(wù)功能組件類之間分離開。 控制調(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)致 各個 類 之間的交互操作非常多, 同時 每個 類 的行為操作都依賴 于 彼此對方。這樣 的設(shè)計后果將是這樣的狀況: 修改 其中的 一個 類 的行為,會同時涉及到修改很多 其它類 的行為。 從而降低這些對象之間的耦合性 、也為系統(tǒng)的后期維護(hù)和完善帶來隱患。 在
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1