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

正文內(nèi)容

j2ee項目實訓(xùn)uml及設(shè)計模式——第3章系統(tǒng)概要設(shè)計中的架構(gòu)設(shè)計第2部分(編輯修改稿)

2024-12-23 16:14 本頁面
 

【文章內(nèi)容簡介】 某個 系統(tǒng)的整體架構(gòu)設(shè)計 的 示例,該系統(tǒng)架構(gòu)是充分地應(yīng)用了目前在 J2EE 平臺中比較主流的三種不同形式的框架 技術(shù)。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 7/15 頁 圖 某 系統(tǒng)的整體架構(gòu)設(shè)計示圖 采用該形式的系統(tǒng)架構(gòu)的主要目的,是希望能夠保證 項目在系統(tǒng)架構(gòu)設(shè)計方面所提出的盡可能達到系統(tǒng)的可重用性、可擴展性及技術(shù)實現(xiàn)的簡單化等設(shè)計目標的要求。 1) 表示層由基于 Struts 框架 的 JSP 頁面 組件實現(xiàn) ,并且在其中應(yīng)用 Struts 框架的各種標簽技術(shù)來減少頁面中的 JSP 腳本的數(shù)量,同時也應(yīng)用支持 AJAX 技術(shù)的 DWR 框架來產(chǎn)生異步通訊交互的實現(xiàn)。 2) 控制層由基于 Struts 框架 的 前端控制器 ActionServlet 組件(作為項目的前端控制器,并對它進行重寫以滿足項目中的特 殊要求) 和 后端業(yè)務(wù)控制器 Action 組件 (實際是應(yīng)用 Struts 中的 DispatchAction 類型的 Action 組件 ) 實現(xiàn) 。 3) 業(yè)務(wù)處理層由 Spring 框架承擔(dān) ,并利用其控制反轉(zhuǎn) IoC 技術(shù)實現(xiàn)對整個項目中的從控制層、業(yè)務(wù)處理層和持久層中各個相關(guān)對象的實例進行管理,以產(chǎn)生出松藕合的系統(tǒng)類;同時借助 Spring 框架中的面向切面編程 AoP 技術(shù),為項目提供各種形式的“攔截器”通知組件以分離系統(tǒng)中的“技術(shù)關(guān)注點”。 4) 數(shù)據(jù)訪問層由 目前比較主流的支持 O/R Mapping 技術(shù)的 Hibernate 框架承擔(dān) ,利用其功能強大的 O/R Mapping 技術(shù)以及數(shù)據(jù)緩存等方面的技術(shù),以實現(xiàn)面向?qū)ο蟮臄?shù)據(jù)庫訪問操作。同時也能夠改進項目中的數(shù)據(jù)訪問的性能。 架構(gòu)設(shè)計的目標之二是希望能夠達到最靈活的可擴展性 ( 1)軟件系統(tǒng)開發(fā)中必須要考慮的一個問題 如何盡可能地延長所開發(fā)出的軟件系統(tǒng)的生命期,以降低企業(yè)經(jīng)營中在信息化技術(shù)方面的成本和投資? ( 2)如何達到本應(yīng)用系統(tǒng)具有“最靈活的可擴展性” 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 8/15 頁 當然,靈活地應(yīng)用各種架構(gòu)模式和代碼的設(shè)計模式是必要的技術(shù)實現(xiàn)手段。因為在面向?qū)ο蠓治觥⒃O(shè)計和開發(fā)中,系統(tǒng)設(shè)計師和程序員更重視應(yīng)用系統(tǒng)本身和系統(tǒng)在編 程實現(xiàn)時的代碼的可重用性和可維護性,這通過應(yīng)用 各種架構(gòu)模式 ( 如可以應(yīng)用 J2EE 的核心設(shè)計模式, 分布式系統(tǒng)和交互式系統(tǒng)都有特定的架構(gòu)模式)和代碼 的設(shè)計模式(如 GOF 的 23 種設(shè)計模式 )能夠使設(shè)計師和程序員可以更加簡單、方便地重復(fù)使用成功的設(shè)計和體系結(jié)構(gòu)。 同時,在代碼 的設(shè)計模式 中所倡導(dǎo)的面向接口編程, 也 能夠提高系統(tǒng)的可擴展性和可移植性。 架構(gòu)設(shè)計的目標之三是希望能夠設(shè)計出“高內(nèi)聚低藕合”的應(yīng)用系統(tǒng) ( 1)利用“分層”架構(gòu)造實現(xiàn)系統(tǒng)在縱向上的低耦合 比如將應(yīng)用系統(tǒng)在分層設(shè)計時,可以劃分為五個層次。分別是: 表示層、控制層、業(yè)務(wù)邏輯層、服務(wù)層( DAO)、數(shù)據(jù)訪問層。 在縱向上分層的目的是為了達到:表示邏輯、控制邏輯、業(yè)務(wù)邏輯與數(shù)據(jù)訪問邏輯的分離和層與層之間的松散耦合。相鄰的層次之間,通過“接口”進行調(diào)用和通信,即:采用面向接口編程的思想,從而實現(xiàn)了系統(tǒng)的易用維護和升級的目的。 ( 2)利用 開源 框架 進一步確保 縱向的分層 的具體實現(xiàn) ? 系統(tǒng)的“ 表示層 + 控制層 ” 采用 Struts 框架 技術(shù)來實現(xiàn) 原因如下: Struts 的標簽技術(shù)具有強大的功能。因此在表示層中,使得數(shù)據(jù)的顯示、簡單的邏輯處理以及模板的應(yīng)用非常方便。同時 Struts 采用了前段控制器的架構(gòu)模式,這使得表示層與控制層之間能夠更好的實現(xiàn)松散耦合。同時進行在控制層中進行了明確的分工(如: ActionServlet 與 Action),為系統(tǒng)的維護與升級提供了有力的保障。同時提供了數(shù)據(jù)連接池、加入了表單驗證等機制等。使得程序設(shè)計的方面的工作 會 更少。 ? 業(yè)務(wù)邏輯層采用 Spring 框架 技術(shù)來實現(xiàn)。 原因如下:采用 Spring 技術(shù)主要是利用其“依賴注入”和“控制反轉(zhuǎn)”兩大思想。依賴注入完全實現(xiàn)了設(shè)計模式中的抽象工廠方法,同時更有利于我們實現(xiàn)面向借口的編程的思想。我們在控制層 中只需調(diào)用(操縱)業(yè)務(wù)類所實現(xiàn)的借口,而由 Spring 框架為我們動態(tài)的注入對象。這使得系統(tǒng)今后可以很方便的進行升級和維護。 控制反轉(zhuǎn)主要采用了模板模式的設(shè)計思想,使得我們在程序設(shè)計時不必再為系統(tǒng)的控制而認為的調(diào)用系統(tǒng)類庫,而只需實現(xiàn)系統(tǒng)定義的方法或是補充適量的自定義方法即可。即:把控制權(quán)交給了框架,這使可以大大減輕開發(fā)的工作量,同時實現(xiàn)了“非侵入式”方楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 9/15 頁 案(即:輕量級的框架)。 ? 系統(tǒng)的“ 服務(wù)層 + 業(yè)務(wù)邏輯層 ”可以 采用 DAO 模式設(shè)計 + Hibernate 框架 來實現(xiàn) 原因如下:由于采用面向?qū)ο蟮脑O(shè)計,而現(xiàn)有的 數(shù)據(jù)庫都是采用結(jié)構(gòu)化進行設(shè)計的,所以需要一種 O/R Mapping 工具來進行關(guān)系數(shù)據(jù)庫到對象數(shù)據(jù)的一種映射, Hibernate 技術(shù)很好的實現(xiàn)了這種功能。它能夠使得我們采用面向?qū)ο蟮乃枷雭磉M行數(shù)據(jù)的持久化。同時它又實現(xiàn)了日志管理、數(shù)據(jù)緩存、事務(wù)管理等各種技術(shù),簡化了程序開發(fā)過程。 利用 DAO 模式,主要是對 Hibernate 的進一步封裝。即:用 DAO 實現(xiàn)了“服務(wù)層”的功能。這樣做的優(yōu)點是避免了業(yè)務(wù)邏輯處理層中直接調(diào)用有關(guān)數(shù)據(jù)訪問的操作,實現(xiàn)了業(yè)務(wù)邏輯層與數(shù)據(jù)訪問層之間的松散耦合。 ( 3) 通過功能劃分子系統(tǒng)來實現(xiàn) 橫方向上的低耦合 按照系統(tǒng)功能的聚集關(guān)系對系統(tǒng)進行劃分,通過將不同的子系統(tǒng) 放 到不同的目錄下實現(xiàn)系統(tǒng)橫方向上的劃分。設(shè)計好各個不同子系統(tǒng)之間調(diào)用的接口,各子系統(tǒng)面向接口編程,實現(xiàn)松散耦合。 同時注意應(yīng)用設(shè)計模式是實現(xiàn)橫向上的低耦合 的有效措施 ,如:“橋接模式” 的應(yīng)用 。 ( 4)利用“包”結(jié)構(gòu) 確保 橫 向 上的低耦合 的具體實現(xiàn) 按照業(yè)務(wù)邏輯進行包的劃分。在每個包的內(nèi)部,同樣采用分層的思想,針對接口編程,實現(xiàn)松散耦合。同時 再 為每個包提供一個或多個接口,以達到橫向方向上的低耦合 ;而在包內(nèi)則充分應(yīng)用 封裝策略 , 使復(fù)雜性內(nèi)聚 。 明確軟件產(chǎn)品或者軟件項目中的“變化”的要素 好的軟件產(chǎn)品在開發(fā)的過程中就應(yīng)該要考慮到可能的變化,任何一個軟件的系統(tǒng)架構(gòu)師都不能解決或者說前瞻所有的變化,但是好的軟件的架構(gòu)設(shè)計(框架和組件)能夠比較容易的適應(yīng)變化。此時的開發(fā)者只需要很小的代價就能夠
點擊復(fù)制文檔內(nèi)容
研究報告相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1