版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、層次系統(tǒng) 介紹與舉例2010.3.層次系統(tǒng)簡介OSI 七層結(jié)構(gòu)TCP/IP 四層結(jié)構(gòu)典型結(jié)構(gòu)1每個層次是一個獨(dú)立的組件。它的責(zé)任是:提供了由上層使用的服務(wù),并且委派任務(wù)給下一層次。需要防止較高層次直接越級訪問較低層次。層次N層次N-1層次1客戶使用典型結(jié)構(gòu)2每個獨(dú)立層可能由多個不同的相對獨(dú)立的實(shí)體組成。這些實(shí)體之間可能也有相互調(diào)用的關(guān)系??梢酝ㄟ^層的接口保護(hù)層次之間的封裝特性。Layer1組件_1.1組件_1.2組件_1.3Layer2組件_2.1組件_2.2組件_2.3Layer3組件_3.1組件_3.2組件_3.3分層系統(tǒng)優(yōu)點(diǎn)和目標(biāo)層的重用標(biāo)準(zhǔn)化支持局部依賴特性可替換性層間低耦合、層內(nèi)高內(nèi)
2、聚 設(shè)備管理信息系統(tǒng)總體功能先分模塊,再分層系統(tǒng)概述本系統(tǒng)采用JavaEE平臺開發(fā)集成Struts、Spring、Hibernate框架后端采用Oracle數(shù)據(jù)庫用到的工具和平臺開發(fā)工具:MyEclipse開發(fā)平臺:JavaEE、JRE1.6;Struts1.3、Spring2、Hibernate3.1版本控制工具:CVSWeb服務(wù)器:Tomcat數(shù)據(jù)庫服務(wù)器:OracleJavaEE中典型的分層結(jié)構(gòu)表現(xiàn)層控制層持久層業(yè)務(wù)層數(shù)據(jù)庫前臺頁面展示分發(fā)請求、處理業(yè)務(wù)邏輯提供數(shù)據(jù)庫支持系統(tǒng)架構(gòu)用到的技術(shù)表現(xiàn)層控制層持久層業(yè)務(wù)層數(shù)據(jù)庫HTML、JSP、JS、CSS、StrutsStruts的Contro
3、llerHibernateJava、SpringOracle包的概要介紹表現(xiàn)層:WebRoot控制層:com.puzhen.struts.action業(yè)務(wù)層:com.puzhen.services持久層:com.puzhen.daocom.puzhen.hibernate.artifacts包的詳細(xì)介紹包的詳細(xì)介紹(cont.)配置文件介紹(.xml文件)web.xml:Web應(yīng)用的配置文件struts-config.xml:Struts框架的配置文件applicationContext.xml:Spring框架的配置文件*.hbm.xml:Hibernate框架的配置文件分層時要注意的地方1
4、、上層總是依賴其下層,依賴關(guān)系不跨層。2、表現(xiàn)成除外,同一層之間方法不允許相互調(diào)用。這是實(shí)際開發(fā)中一些開發(fā)者容易范的錯誤!如果真是同一層之間存在方法調(diào)用,需要注意,這些調(diào)用都是一些上層不可見方法,比如一些工具方法等。3、一切從服務(wù)層出發(fā),從系統(tǒng)需要提供的功能進(jìn)行分析,確定Service接口中的方法。而不是從數(shù)據(jù)庫的表出發(fā),創(chuàng)建DAO,再創(chuàng)Domain,然后Service,這實(shí)際上是對系統(tǒng)分層的誤解。4、系統(tǒng)最核心的設(shè)計(jì)就是將系統(tǒng)中的實(shí)體劃分為領(lǐng)域模型。在此基礎(chǔ)上設(shè)計(jì)數(shù)據(jù)的DAO層,并將這些活動暴露給服務(wù)層,服務(wù)層的實(shí)現(xiàn)依賴于領(lǐng)域活動。5、每個接口的職責(zé)范圍明確有界。分層系統(tǒng)之利器接口分離控制反
5、轉(zhuǎn)對象-關(guān)系映射接口分離接口分離原則ISP (Interface Segregation Principle)采用多個與特定客戶類有關(guān)的接口比采用一個通用的涵蓋多個業(yè)務(wù)方法的接口要好。如果你擁有一個針對多個客戶的類,為每一個客戶創(chuàng)建特定業(yè)務(wù)接口,然后使該客戶類繼承多個特定業(yè)務(wù)接口將比直接加載客戶所需所有方法有效。模塊的替換性和修改性Facade模式GOF設(shè)計(jì)模式對Facade模式是這樣描述:為子系統(tǒng)中的一組接口提供一個統(tǒng)一接口。Facade模式定義了一個更高層的接口,使子系統(tǒng)更加容易使用。Facade模式的要點(diǎn):1、從客戶程序的角度看,F(xiàn)acade模式不僅簡化了整個組件系統(tǒng)的接口,同時對于組件
6、內(nèi)部與外部客戶程序來說,從某種程度上也達(dá)到了一種“解耦”的效果內(nèi)部子系統(tǒng)的任何變化不會影響到Facade接口的變化。2、Facade設(shè)計(jì)模式更注重從架構(gòu)的層次去看整個系統(tǒng),而不是單個類的層次。Facade很多時候更是一種架構(gòu)設(shè)計(jì)模式??刂品崔D(zhuǎn)Spring框架 IoC(Inversion of Control)又稱“依賴注入”(Dependence Injection)Java反射機(jī)制IOC的基本概念是:不創(chuàng)建對象,但是描述創(chuàng)建它們的方式。在代碼中不直接與對象和服務(wù)連接,但在配置文件中描述哪一個組件需要哪一項(xiàng)服務(wù)。容器負(fù)責(zé)將這些聯(lián)系在一起。其原理是基于OO設(shè)計(jì)原則的The Hollywood P
7、rinciple:Dont call us, well call you(別找我,我會來找你的)。也就是說,所有的組件都是被動的(Passive),所有的組件初始化和調(diào)用都由容器負(fù)責(zé)。組件處在一個容器當(dāng)中,由容器負(fù)責(zé)管理。理解IoCIoC解耦過程USB接口和USB設(shè)備拿掉IoC容器后的系統(tǒng)電腦主機(jī)不會關(guān)心USB接口上連接的是什么外部設(shè)備,而且它確實(shí)也無需知道。它的任務(wù)就是讀取USB接口,掛接的外部設(shè)備只要符合USB接口標(biāo)準(zhǔn)即可。ORM對象-關(guān)系映射(Object/Relation Mapping)ORM:是通過使用描述對象和數(shù)據(jù)庫之間映射的元數(shù)據(jù),將java程序中的對象自動持久化到關(guān)系數(shù)據(jù)庫中
8、。本質(zhì)上就是將數(shù)據(jù)從一種形式轉(zhuǎn)換到另外一種形式。 典型ORM框架:Hibernate、iBatis傳統(tǒng)的三層架構(gòu)“基礎(chǔ)結(jié)構(gòu)層”:從實(shí)踐的表現(xiàn)上來看,可能就是一些幫助類,比如SQLHelper,也可能是一些工具類,比如TextUtility。其被其它各層所訪問。基于分層的概念:表現(xiàn)層只能跟業(yè)務(wù)邏輯層打交道,而業(yè)務(wù)邏輯層在數(shù)據(jù)持久化方面的操作,則依賴于數(shù)據(jù)訪問層。表現(xiàn)層對數(shù)據(jù)訪問層的內(nèi)容一無所知。領(lǐng)域驅(qū)動設(shè)計(jì)(DDD: Domain-Driven Design)領(lǐng)域驅(qū)動設(shè)計(jì)將軟件系統(tǒng)分為四層:基礎(chǔ)結(jié)構(gòu)層、領(lǐng)域?qū)印?yīng)用層和表現(xiàn)層。與傳統(tǒng)的三層架構(gòu)相比,數(shù)據(jù)訪問層已經(jīng)不在了,它被移到基礎(chǔ)結(jié)構(gòu)層了。領(lǐng)域?qū)樱喊?/p>
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度企業(yè)稅收籌劃及稅務(wù)風(fēng)險控制合同2篇
- 二零二五年度房產(chǎn)投資顧問代理服務(wù)合同模板3篇
- 臨床內(nèi)鏡下粘膜剝離術(shù)(ESD)護(hù)理要點(diǎn)及健康教育
- 二零二五年度房地產(chǎn)企業(yè)貸款定金合同3篇
- Unit 4 Friends Lesson 4(說課稿)-2024-2025學(xué)年人教精通版(2024)英語三年級上冊
- 2025年度XX新能源項(xiàng)目技術(shù)轉(zhuǎn)讓居間合同
- 山東省臨沂市蘭山區(qū)2024-2025學(xué)年八年級上學(xué)期期末考試生物試卷(含答案)
- 江蘇省南通市(2024年-2025年小學(xué)六年級語文)人教版課后作業(yè)((上下)學(xué)期)試卷及答案
- 陜西省寶雞市(2024年-2025年小學(xué)六年級語文)統(tǒng)編版綜合練習(xí)(下學(xué)期)試卷及答案
- 2025商業(yè)地產(chǎn)新年新愿嘉年華(新年如愿妙會主題)活動策劃方案-64正式版
- 蘇教版三年級上冊數(shù)學(xué)口算題1000道帶答案
- 南孔儒學(xué)完整版本
- 小學(xué)語文一年級上冊《秋天》評課稿
- 《公共科目》軍隊(duì)文職考試試題及解答參考(2024年)
- 眼鏡制造加工合作協(xié)議
- 公立醫(yī)院運(yùn)營管理工作計(jì)劃
- 《ISO56001-2024創(chuàng)新管理體系 - 要求》之24:“9績效評價-9.1監(jiān)視、測量、分析和評價”解讀和應(yīng)用指導(dǎo)材料(雷澤佳編制-2024)
- 患病兒童護(hù)理及其家庭支持(兒科護(hù)理課件)
- 飛防合同模板
- 不付租金解除合同通知書
- NB-T20307-2014核電廠冷卻塔環(huán)境影響評價技術(shù)規(guī)范
評論
0/150
提交評論