公司企業(yè)企業(yè)J2EE框架培訓(xùn)講義_第1頁(yè)
公司企業(yè)企業(yè)J2EE框架培訓(xùn)講義_第2頁(yè)
公司企業(yè)企業(yè)J2EE框架培訓(xùn)講義_第3頁(yè)
公司企業(yè)企業(yè)J2EE框架培訓(xùn)講義_第4頁(yè)
公司企業(yè)企業(yè)J2EE框架培訓(xùn)講義_第5頁(yè)
已閱讀5頁(yè),還剩9頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、XXX公司J2EE框架培訓(xùn)講義北京信城通數(shù)碼科技有限公司BEIJING ITOWNET CYBER TECHNOLOGY LTD.政務(wù)事業(yè)部 CREATEDATE yyyy年M月d日 * MERGEFORMAT SAVEDATE yyyy年M月d日 2008年4月1日修訂歷史記錄日期版本說(shuō)明作者2004-12-13起草目 錄 TOC o 1-5 h z u 構(gòu)架設(shè)計(jì)相關(guān)知識(shí)術(shù)語(yǔ)網(wǎng)絡(luò)文章引用、模塊(module):一組完成指定功能的語(yǔ)句,包括:輸入、輸出、邏輯處理功能、內(nèi)部信息、運(yùn)行環(huán)境。2、組件(component):系統(tǒng)中相當(dāng)重要的、幾乎是獨(dú)立的可替換部分,它在明確定義的構(gòu)架環(huán)境中實(shí)現(xiàn)確切的

2、功能。3、模式(pattern):指經(jīng)過(guò)驗(yàn)證,至少適用于一種實(shí)用環(huán)境(更多時(shí)候是好幾種環(huán)境)的解決方案模板(用于結(jié)構(gòu)和行為)。存在各種范圍和抽象程度的模式,例如,構(gòu)架模式、分析模式、設(shè)計(jì)模式和代碼模式或?qū)嵤┠J?。模式將可以幫助我們抓住重點(diǎn)。模式是針對(duì)特定問(wèn)題的解,因此,我們也可以針對(duì)需求的特點(diǎn)采用相應(yīng)的模式來(lái)設(shè)計(jì)構(gòu)架。4、構(gòu)架模式(architectural pattern):表示軟件系統(tǒng)的基本結(jié)構(gòu)組織方案。它提供了一組預(yù)定義的子系統(tǒng)、指定它們的職責(zé),并且包括用于組織其間關(guān)系的規(guī)則和指導(dǎo)。5、層(layer):對(duì)模型中同一抽象層次上的包進(jìn)行分組的一種特定方式。通過(guò)分層,從邏輯上將子系統(tǒng)劃分成許

3、多集合,而層間關(guān)系的形成要遵循一定的規(guī)則。通過(guò)分層,可以限制子系統(tǒng)間的依賴關(guān)系,使系統(tǒng)以更松散的方式耦合,從而更易于維護(hù)。(層是對(duì)構(gòu)架的橫向劃分,分區(qū)是對(duì)構(gòu)架的縱向劃分)。系統(tǒng)分層的幾種常用方法: 1) 常用三層服務(wù):用戶層、業(yè)務(wù)邏輯層、數(shù)據(jù)層; 2) 多層結(jié)構(gòu)的技術(shù)組成模型:表現(xiàn)層、中間層、數(shù)據(jù)層; 3) 網(wǎng)絡(luò)系統(tǒng)常用三層結(jié)構(gòu):核心層、匯聚層和接入層; 4) RUP典型分層方法:應(yīng)用層、專業(yè)業(yè)務(wù)層、中間件層、系統(tǒng)軟件層; 5) 基于Java的B/S模式系統(tǒng)結(jié)構(gòu):瀏覽器端、服務(wù)器端、請(qǐng)求接收層、請(qǐng)求處理層; 6) 某六層結(jié)構(gòu):功能層(用戶界面)、模塊層、組裝層(軟件總線)、服務(wù)層(數(shù)據(jù)處理)、

4、數(shù)據(jù)層、核心層。6、構(gòu)架(architecture):構(gòu)架是系統(tǒng)在其所處環(huán)境中的最高層次的概念,軟件系統(tǒng)的構(gòu)架是通過(guò)接口交互的重要構(gòu)件(在特定時(shí)間點(diǎn))的組織或結(jié)構(gòu),這些構(gòu)件又由一些更小的構(gòu)件和接口組成。構(gòu)架的描述方式:“41”視圖(用例視圖、設(shè)計(jì)視圖、實(shí)現(xiàn)視圖、過(guò)程視圖、配置視圖)是一個(gè)被廣為使用的構(gòu)架描述的模型;RUP過(guò)程的構(gòu)架描述模板在“41”視圖的基礎(chǔ)上增加了可選的數(shù)據(jù)視圖(從永久性數(shù)據(jù)存儲(chǔ)方面來(lái)對(duì)系統(tǒng)進(jìn)行說(shuō)明)。7、結(jié)構(gòu)(structure):軟件構(gòu)架是多種結(jié)構(gòu)的體現(xiàn),結(jié)構(gòu)是系統(tǒng)構(gòu)架從不同角度觀察所產(chǎn)生的視圖。8、框架(framework):框架是構(gòu)成一類特定軟件可復(fù)用設(shè)計(jì)的一組相互協(xié)

5、作的類。它規(guī)定了用戶的應(yīng)用的體系結(jié)構(gòu),定義了整體結(jié)構(gòu)、類和對(duì)象的分割、各部分的主要責(zé)任、類和對(duì)象如何協(xié)作,以及控制流程。因而,框架更強(qiáng)調(diào)設(shè)計(jì)復(fù)用。從組成來(lái)講,框架是抽象類和具體類的混合體,抽象類存在于框架中,具體類存在于應(yīng)用程序中。所以,框架是一個(gè)有待完成的應(yīng)用程序,里面包含了特定領(lǐng)域的應(yīng)用程序的共同方面;另外,通過(guò)定義一些設(shè)計(jì)參數(shù),以用于各個(gè)應(yīng)用程序的特殊細(xì)節(jié)。框架是面向?qū)ο笙到y(tǒng)獲得最大復(fù)用的方式。OO設(shè)計(jì)原則1、開閉原則(OCP)(Open Closed Principal):對(duì)可變性封裝,模塊應(yīng)對(duì)擴(kuò)展開放,而對(duì)修改關(guān)閉。模塊應(yīng)盡量在不修改原代碼的情況下進(jìn)行擴(kuò)展。符合OCP原則的程序只通過(guò)

6、增加代碼來(lái)變化而不是通過(guò)更改現(xiàn)有代碼來(lái)變化。選擇性的封閉(Strategic Closure),沒有任何一個(gè)大的程序能夠做到100%的封閉,設(shè)計(jì)者必須對(duì)其設(shè)計(jì)的模塊應(yīng)該對(duì)何種變化進(jìn)行封閉做出選擇。核心原則:OCP原則的主要機(jī)制是抽象和多態(tài)。支持抽象和多態(tài)的關(guān)鍵機(jī)制是繼承。2、里氏代換原則(LSP)(Liskov Substitution Principle):使用派生類完全替換基類(父類)后,程序行為功能不變。LSP原則是符合OCP原則應(yīng)用程序的一項(xiàng)重要特性。3、依賴倒轉(zhuǎn)原則(DIP)(Dependency Inversion Principle):針對(duì)接口編程。高層模塊不應(yīng)該依賴于低層模塊。

7、二者都應(yīng)該依賴于抽象。抽象不應(yīng)該依賴于細(xì)節(jié)。細(xì)節(jié)應(yīng)該依賴于抽象。DIP以LSP為基礎(chǔ),是實(shí)現(xiàn)OCP的主要手段,是設(shè)計(jì)模式研究和應(yīng)用的主要指導(dǎo)原則。4、接口隔離原則(ISP)(Interface Segregation Principle):一個(gè)類對(duì)另外一個(gè)類的依賴性應(yīng)當(dāng)是建立在最小的接口上。使用多個(gè)專門的接口比使用單一的總接口要好。5、合成復(fù)用原則(CARP)(Composite/Aggregate Reuse Principle):要盡量使用合成/聚合,盡量不要使用繼承。J2EE框架概述J2EE 體系架構(gòu)圖J2EE 體系架構(gòu)圖設(shè)計(jì)模式設(shè)計(jì)模式是特定情境中標(biāo)準(zhǔn)設(shè)計(jì)問(wèn)題的重復(fù)性解決方案。GOF描

8、述的設(shè)計(jì)模式是:對(duì)被用來(lái)在特定場(chǎng)景下解決一般設(shè)計(jì)問(wèn)題的類和相互通信的對(duì)象的描述。例如GOF的設(shè)計(jì)模式(Design Patterns)書中描述了23種基本模式。JAVA 模式(Patterns in Java)書中描述了其它一些模式。創(chuàng)建型模式工廠方法(Factory Method):定義一個(gè)用于創(chuàng)建對(duì)象的接口,讓子類決定實(shí)例化哪一個(gè)類。抽象工廠(Abstract Factory):提供一個(gè)創(chuàng)建一系列相關(guān)或相互依賴對(duì)象的接口,而無(wú)需指定它們具體的類。建造(Builder):將一個(gè)復(fù)雜對(duì)象的構(gòu)建與它的表示分離,使得同樣的構(gòu)建過(guò)程可以創(chuàng)建不同的表示。原始模型(Prototype):用原型實(shí)例指定創(chuàng)

9、建對(duì)象的種類,并且通過(guò)拷貝這些原型創(chuàng)建新的對(duì)象。單例(Singleton):保證一個(gè)類僅有一個(gè)實(shí)例,并提供一個(gè)訪問(wèn)它的全局訪問(wèn)點(diǎn)。結(jié)構(gòu)型模式適配器(Adapter):將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。橋梁(Bridge):將抽象部分與它的實(shí)現(xiàn)部分分離,使它們都可以獨(dú)立地變化。合成(Composite):將對(duì)象組合成樹形結(jié)構(gòu)以表示“部分-整體”的層次結(jié)構(gòu)。裝飾(Decorator):動(dòng)態(tài)地給一個(gè)對(duì)象添加一些額外的職責(zé)。外觀(Facade):為子系統(tǒng)中的一組接口提供一個(gè)一致的界面。享元(Flyweight):運(yùn)用共享技術(shù)有效地支持大量細(xì)粒度的對(duì)象。代理(Proxy):為其他對(duì)象提供一種代

10、理以控制對(duì)這個(gè)對(duì)象的訪問(wèn)。行為型模式模板方法(Template Method):定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中。職責(zé)鏈(Chain of Responsibility):使多個(gè)對(duì)象都有機(jī)會(huì)處理請(qǐng)求,從而避免請(qǐng)求的發(fā)送者和接收者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止。命令(Command):將一個(gè)請(qǐng)求封裝為一個(gè)對(duì)象,從而使你可用不同的請(qǐng)求對(duì)客戶進(jìn)行參數(shù)化。迭代子(Iterator):提供一種方法順序訪問(wèn)一個(gè)聚合對(duì)象中各個(gè)元素, 而又不需暴露該對(duì)象的內(nèi)部表示。中介者(Mediator):用一個(gè)中介對(duì)象來(lái)封裝一系列的對(duì)象交互。觀察

11、者(Observer):定義對(duì)象間的一種一對(duì)多的依賴關(guān)系,當(dāng)一個(gè)對(duì)象的狀態(tài)發(fā)生改變時(shí), 所有依賴于它的對(duì)象都得到通知并被自動(dòng)更新。策略(Strategy):定義一系列的算法,把它們一個(gè)個(gè)封裝起來(lái), 并且使它們可相互替換。J2EE設(shè)計(jì)模式例如SUN的J2EE核心模式(Core J2EE Patterns)書中定義了15種模式,的EJB設(shè)計(jì)模式(EJB Design Patterns)書中定義了大量其它模式。視圖表示層截獲過(guò)濾(Intercepting Filter):提供請(qǐng)求預(yù)處理和后處理的方案,定義靈活的體系結(jié)構(gòu),可以聲明對(duì)截獲請(qǐng)求和響應(yīng)進(jìn)行過(guò)濾。在中已經(jīng)實(shí)現(xiàn)了Filter功能,主要用于記錄日

12、志、看用戶有沒有LOGIN等等。前端控制器(Front Controller):通過(guò)中央控制器提供請(qǐng)求管理和處理。管理內(nèi)容讀取、安全性、視圖管理和導(dǎo)航。視圖幫助器(View Helper):將負(fù)責(zé)表示層的邏輯代碼與其他的業(yè)務(wù)邏輯分開,表示格式放在視圖組件中去,可能包括多個(gè)子組件,組成復(fù)雜視圖。業(yè)務(wù)邏輯代碼放在幫助器組件中。內(nèi)容讀取、驗(yàn)證與適配??梢杂肂usiness Delegate模式訪問(wèn)業(yè)務(wù)。復(fù)合視圖(Composite View):是從原子組件創(chuàng)建累計(jì)表示(View)的靈活方案。表示體系結(jié)構(gòu)可以方便地組織基本視圖組件,使表示靈活,還可以進(jìn)行其他的工作,包括個(gè)性化和定制。服務(wù)/工人(Ser

13、vice to Worker):它是由Dispatcher組件與Front Controller和View Helper模式組合而成,先進(jìn)行請(qǐng)求處理再進(jìn)行視圖處理,適合用于大型應(yīng)用。派遣視圖(Dispatcher View):類似于Service to Worker模式,是由Dispatcher組件與Front Controller和View Helper模式組合而成。它與Service-to-Worker模式不同的是,這個(gè)模式在進(jìn)行視圖處理期間進(jìn)行請(qǐng)求處理,因此更適合小型應(yīng)用程序。業(yè)務(wù)邏輯層業(yè)務(wù)委托(Business Delegate):減少層間耦合,特別是表示層和業(yè)務(wù)邏輯層之間。提供門戶代

14、理,可緩存遠(yuǎn)程方法調(diào)用,提高性能,可以和Service Locator模式組合。值對(duì)象(Value Object):通過(guò)減少網(wǎng)絡(luò)對(duì)話,以加速層之間的數(shù)據(jù)交換。會(huì)話外觀(Session Facade):隱藏業(yè)務(wù)對(duì)象復(fù)雜性,集中化工作流處理。提供給客戶機(jī)粗粒接口,適合聲明事務(wù)和安全管理,是J2EE模式中最重要的一個(gè)。值對(duì)象組裝器(Value Object Assembler):把來(lái)自多個(gè)數(shù)據(jù)源的值對(duì)象組裝成一個(gè)復(fù)合值對(duì)象。值列表處理器(Value List Handler):管理查詢執(zhí)行、結(jié)果緩沖、以及結(jié)果處理,基于Iterator模式。服務(wù)定位器(Service Locator):可以查找、創(chuàng)建

15、與定位服務(wù)工廠,包裝其細(xì)節(jié)。減少?gòu)?fù)雜性,提供單個(gè)控制點(diǎn),通過(guò)緩存提高性能。數(shù)據(jù)集成層數(shù)據(jù)訪問(wèn)對(duì)象(Data Access Object):抽象數(shù)據(jù)源,提供對(duì)數(shù)據(jù)的透明訪問(wèn)。用JDBC讀取數(shù)據(jù)(JDBC for Reading):使用JDBC讀取數(shù)據(jù)庫(kù),完成列表操作,提高大數(shù)據(jù)量只讀訪問(wèn)的操作性能。信城通公司J2EE框架框架圖更簡(jiǎn)介的框架示意圖框架核心類圖框架包結(jié)構(gòu)說(shuō)明包 名含 義信城通公司頂級(jí)包框架包框架配置包數(shù)據(jù)訪問(wèn)框架包:隔離數(shù)據(jù)存儲(chǔ)細(xì)節(jié)。數(shù)據(jù)訪問(wèn)JDBC實(shí)現(xiàn)框架包值對(duì)象包業(yè)務(wù)委托包業(yè)務(wù)接口包:事務(wù)控制,隔離業(yè)務(wù)實(shí)現(xiàn),權(quán)限(安全)控制。業(yè)務(wù)邏輯處理包權(quán)限(安全)管理包視圖展現(xiàn)包 展現(xiàn)控制及命令處理包適用于WEB HTTP客戶端的展現(xiàn)控制及命令處理包特定展現(xiàn)形

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論