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

正文內(nèi)容

j2ee項(xiàng)目實(shí)訓(xùn)uml及設(shè)計(jì)模式——第3章系統(tǒng)概要設(shè)計(jì)中的架構(gòu)設(shè)計(jì)第2部分-文庫(kù)吧資料

2024-11-25 16:14本頁(yè)面
  

【正文】 產(chǎn)品在開(kāi)發(fā)的過(guò)程中就應(yīng)該要考慮到可能的變化,任何一個(gè)軟件的系統(tǒng)架構(gòu)師都不能解決或者說(shuō)前瞻所有的變化,但是好的軟件的架構(gòu)設(shè)計(jì)(框架和組件)能夠比較容易的適應(yīng)變化。在每個(gè)包的內(nèi)部,同樣采用分層的思想,針對(duì)接口編程,實(shí)現(xiàn)松散耦合。 同時(shí)注意應(yīng)用設(shè)計(jì)模式是實(shí)現(xiàn)橫向上的低耦合 的有效措施 ,如:“橋接模式” 的應(yīng)用 。 ( 3) 通過(guò)功能劃分子系統(tǒng)來(lái)實(shí)現(xiàn) 橫方向上的低耦合 按照系統(tǒng)功能的聚集關(guān)系對(duì)系統(tǒng)進(jìn)行劃分,通過(guò)將不同的子系統(tǒng) 放 到不同的目錄下實(shí)現(xiàn)系統(tǒng)橫方向上的劃分。即:用 DAO 實(shí)現(xiàn)了“服務(wù)層”的功能。同時(shí)它又實(shí)現(xiàn)了日志管理、數(shù)據(jù)緩存、事務(wù)管理等各種技術(shù),簡(jiǎn)化了程序開(kāi)發(fā)過(guò)程。 ? 系統(tǒng)的“ 服務(wù)層 + 業(yè)務(wù)邏輯層 ”可以 采用 DAO 模式設(shè)計(jì) + Hibernate 框架 來(lái)實(shí)現(xiàn) 原因如下:由于采用面向?qū)ο蟮脑O(shè)計(jì),而現(xiàn)有的 數(shù)據(jù)庫(kù)都是采用結(jié)構(gòu)化進(jìn)行設(shè)計(jì)的,所以需要一種 O/R Mapping 工具來(lái)進(jìn)行關(guān)系數(shù)據(jù)庫(kù)到對(duì)象數(shù)據(jù)的一種映射, Hibernate 技術(shù)很好的實(shí)現(xiàn)了這種功能。 控制反轉(zhuǎn)主要采用了模板模式的設(shè)計(jì)思想,使得我們?cè)诔绦蛟O(shè)計(jì)時(shí)不必再為系統(tǒng)的控制而認(rèn)為的調(diào)用系統(tǒng)類(lèi)庫(kù),而只需實(shí)現(xiàn)系統(tǒng)定義的方法或是補(bǔ)充適量的自定義方法即可。我們?cè)诳刂茖?中只需調(diào)用(操縱)業(yè)務(wù)類(lèi)所實(shí)現(xiàn)的借口,而由 Spring 框架為我們動(dòng)態(tài)的注入對(duì)象。 原因如下:采用 Spring 技術(shù)主要是利用其“依賴注入”和“控制反轉(zhuǎn)”兩大思想。使得程序設(shè)計(jì)的方面的工作 會(huì) 更少。同時(shí)進(jìn)行在控制層中進(jìn)行了明確的分工(如: ActionServlet 與 Action),為系統(tǒng)的維護(hù)與升級(jí)提供了有力的保障。因此在表示層中,使得數(shù)據(jù)的顯示、簡(jiǎn)單的邏輯處理以及模板的應(yīng)用非常方便。相鄰的層次之間,通過(guò)“接口”進(jìn)行調(diào)用和通信,即:采用面向接口編程的思想,從而實(shí)現(xiàn)了系統(tǒng)的易用維護(hù)和升級(jí)的目的。分別是: 表示層、控制層、業(yè)務(wù)邏輯層、服務(wù)層( DAO)、數(shù)據(jù)訪問(wèn)層。 同時(shí),在代碼 的設(shè)計(jì)模式 中所倡導(dǎo)的面向接口編程, 也 能夠提高系統(tǒng)的可擴(kuò)展性和可移植性。 架構(gòu)設(shè)計(jì)的目標(biāo)之二是希望能夠達(dá)到最靈活的可擴(kuò)展性 ( 1)軟件系統(tǒng)開(kāi)發(fā)中必須要考慮的一個(gè)問(wèn)題 如何盡可能地延長(zhǎng)所開(kāi)發(fā)出的軟件系統(tǒng)的生命期,以降低企業(yè)經(jīng)營(yíng)中在信息化技術(shù)方面的成本和投資? ( 2)如何達(dá)到本應(yīng)用系統(tǒng)具有“最靈活的可擴(kuò)展性” 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 8/15 頁(yè) 當(dāng)然,靈活地應(yīng)用各種架構(gòu)模式和代碼的設(shè)計(jì)模式是必要的技術(shù)實(shí)現(xiàn)手段。 4) 數(shù)據(jù)訪問(wèn)層由 目前比較主流的支持 O/R Mapping 技術(shù)的 Hibernate 框架承擔(dān) ,利用其功能強(qiáng)大的 O/R Mapping 技術(shù)以及數(shù)據(jù)緩存等方面的技術(shù),以實(shí)現(xiàn)面向?qū)ο蟮臄?shù)據(jù)庫(kù)訪問(wèn)操作。 2) 控制層由基于 Struts 框架 的 前端控制器 ActionServlet 組件(作為項(xiàng)目的前端控制器,并對(duì)它進(jìn)行重寫(xiě)以滿足項(xiàng)目中的特 殊要求) 和 后端業(yè)務(wù)控制器 Action 組件 (實(shí)際是應(yīng)用 Struts 中的 DispatchAction 類(lèi)型的 Action 組件 ) 實(shí)現(xiàn) 。 楊教授工作室 精心創(chuàng)作的優(yōu)秀程序員 職業(yè)提升必讀系列資料 楊教授工作室,版權(quán)所有,盜版必究 , 7/15 頁(yè) 圖 某 系統(tǒng)的整體架構(gòu)設(shè)計(jì)示圖 采用該形式的系統(tǒng)架構(gòu)的主要目的,是希望能夠保證 項(xiàng)目在系統(tǒng)架構(gòu)設(shè)計(jì)方面所提出的盡可能達(dá)到系統(tǒng)的可重用性、可擴(kuò)展性及技術(shù)實(shí)現(xiàn)的簡(jiǎn)單化等設(shè)計(jì)目標(biāo)的要求。 3) 另外,成熟的 框架一般都 是 經(jīng)過(guò)很多 開(kāi)發(fā)者 使用 過(guò)的 ,所以 系統(tǒng)本身的 結(jié)構(gòu) 也應(yīng)該是比較 好 的 ,同時(shí) 應(yīng)用該框架的上層軟件系統(tǒng)本身的 擴(kuò)展性也 會(huì) 很好 ;框架本身由于也 是不斷 地 升級(jí)的 , 這樣開(kāi)發(fā)者就可以直接享受別人升級(jí)框架后對(duì)自身的 軟件 系統(tǒng)所帶來(lái)的好處。 2) 而且框架一般是成熟 、 穩(wěn)健的,并且 已經(jīng) 幫助應(yīng)用系統(tǒng)的開(kāi)發(fā)者處理了系統(tǒng)中很多的技術(shù)細(xì)節(jié)問(wèn)題。因?yàn)?一個(gè)共享的架構(gòu),可以使企業(yè)開(kāi)發(fā)團(tuán)隊(duì)很方便 地 分解問(wèn)題,從而確定出本項(xiàng)目中 哪些 功能模塊 是可以由企業(yè)本身(或者開(kāi)發(fā)組)內(nèi)部解決和 具體 開(kāi)發(fā) 實(shí)現(xiàn) 的,而哪些 功能模塊 可以使用已有的外部服務(wù),以避免重新開(kāi)發(fā) 實(shí)現(xiàn) 。這樣將 有助于下次的系統(tǒng)設(shè)計(jì)中能夠重用 , 以避免重復(fù)地解決相似的問(wèn)題, 因?yàn)槊總€(gè) 不同的 項(xiàng)目只是有其內(nèi)容和一些 實(shí)現(xiàn)細(xì)節(jié)方面 的差別。并且 是在大量的實(shí)踐中總結(jié)和理論化之后的優(yōu)選的代碼結(jié)構(gòu) ,編程風(fēng)格 , 及解決問(wèn)題的思考方式。 模式化過(guò)程是把問(wèn)題抽象化 , 在忽略掉不重要的細(xì)節(jié)后發(fā)現(xiàn)問(wèn)題的一般性 的本質(zhì), 并找到普遍使用的方法去解決的過(guò)程。 與架構(gòu)相關(guān)的概念之二設(shè)計(jì)模式( Design Pattern) 設(shè)計(jì)模式則主要側(cè)重于思想和方法(如 MVC 模式 、橋 模式 、命令 模式 、工廠 模式 等),不象框架那樣明確地提供了組件。 ? 框架中的代碼重用 一般是通過(guò)提供基礎(chǔ)組件和對(duì)應(yīng)的 API(包括類(lèi)和接口) 、并通過(guò)模板模式 回調(diào)框架的使用者的具體實(shí)現(xiàn)代碼 來(lái)體現(xiàn)。 ? 框架中的設(shè)計(jì)重用 一般是通過(guò)提供或者借助于設(shè)計(jì)模式來(lái)體現(xiàn)。例如 Apache Struts 框架是定義 Web 層的框架, Spring 框架是定義應(yīng)用層的框架,而 Hibernate 框架是定義數(shù)據(jù)訪問(wèn)層的框架。比如 Apache Struts 框架就解決 J2EE Web 層的開(kāi)發(fā)和實(shí)現(xiàn),而 Spring 框架則解決了 J2EE 平臺(tái)中的類(lèi)的對(duì)象管理,當(dāng)然 Hibernate 框架則是為應(yīng)用系統(tǒng)解決數(shù)據(jù)訪問(wèn)和 O/R Mapping的開(kāi)發(fā)和實(shí)現(xiàn)。因此,技術(shù)并不是第一位的!技術(shù)是解決問(wèn)題的、但不是系統(tǒng)的根本!因?yàn)橛脩糇罱K所需要的是一個(gè)能夠滿足其業(yè)務(wù)需要的穩(wěn)定、可靠的應(yīng)用系統(tǒng)。必然也會(huì)導(dǎo)致對(duì)問(wèn)題的解決也應(yīng)該是不斷地完善和豐富的過(guò)程,否則軟件系統(tǒng)就不會(huì)有升級(jí)和改進(jìn)版本的必要! 但這并不意味著對(duì)本次設(shè)計(jì)和開(kāi)發(fā)實(shí)現(xiàn),可以掉以輕心! ( 2)要承認(rèn)軟件的需求是不完全的、是動(dòng)態(tài)地變化的 正是由于軟件系統(tǒng)本身的 需求是動(dòng)態(tài)地變化的, 否則軟件系統(tǒng)的架構(gòu)設(shè)計(jì)工作不會(huì)出現(xiàn)那么多的矛盾,那么棘手!那么 多的不確定因素! 哪如何開(kāi)展 軟件系統(tǒng)的 架構(gòu)和 設(shè)計(jì)工作呢?關(guān)鍵是要學(xué)會(huì) “ 擁抱變化 、適應(yīng) 變化 ” 而設(shè)計(jì),因?yàn)椴豢赡艿鹊?系統(tǒng) 的需求“不再變化”時(shí)再開(kāi)展架構(gòu)設(shè) 計(jì)工作。當(dāng)然它也可能會(huì)涵蓋一些系統(tǒng)分析師的工作內(nèi)容和軟件設(shè)計(jì)師的內(nèi)容,但 其特點(diǎn)是做出技術(shù)決定或者技術(shù)決策,力求為軟件系統(tǒng)找到或架構(gòu)出一個(gè)最優(yōu)的軟件系統(tǒng)的模型 。 ( 2)系統(tǒng)分析師的主要工作內(nèi)容 系統(tǒng)分析師的主要工作內(nèi)容是包括 對(duì)系統(tǒng)中所涉及的 業(yè)務(wù)需求 進(jìn)行 分析、可行性分析以及 系統(tǒng)
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1