java外觀模式詳解(service第三者插足讓action與dao分手)

java外觀模式詳解(service第三者插足讓action與dao分手)

ID:18743502

大?。?45.50 KB

頁數(shù):5頁

時間:2018-09-20

java外觀模式詳解(service第三者插足讓action與dao分手)_第1頁
java外觀模式詳解(service第三者插足讓action與dao分手)_第2頁
java外觀模式詳解(service第三者插足讓action與dao分手)_第3頁
java外觀模式詳解(service第三者插足讓action與dao分手)_第4頁
java外觀模式詳解(service第三者插足讓action與dao分手)_第5頁
資源描述:

《java外觀模式詳解(service第三者插足讓action與dao分手)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫

1、各位好,LZ今天給各位分享一個不太熟悉的面孔,但卻是我們最經(jīng)常使用的設(shè)計模式,外觀模式。定義:外觀模式是軟件工程中常用的一種軟件設(shè)計模式。它為子系統(tǒng)中的一組接口提供一個統(tǒng)一的高層接口。這一接口使得子系統(tǒng)更加容易使用。該定義引自百度百科,它的表現(xiàn)很簡單,將一系列子接口的功能進行整理,從而產(chǎn)生一個更高層的接口。相信做JAVA的各位大部分是WEB開發(fā),那么肯定都對XXXDao,XXXService非常熟悉了,這顯然和外觀模式有一腿。當然,還有一大部分是android開發(fā),LZ沒接觸過android開發(fā),但是LZ大膽的想象,在移動領(lǐng)域的JAVA開發(fā),應(yīng)該也有類似的情況發(fā)

2、生。接下來,我們來看看外觀模式的標準類圖。上述便是外觀模式的類圖,它主要由兩部分組成,一部分是子系統(tǒng)(包括接口,實現(xiàn)類,等等),一部分是外觀接口和實現(xiàn)類,外觀接口負責提供客戶端定制的服務(wù),外觀實現(xiàn)則負責組合子系統(tǒng)中的各個類和接口完成這些服務(wù),外觀接口則是提供給客戶端使用的,這樣就解除了客戶端與子系統(tǒng)的依賴,而讓客戶端只依賴于外觀接口,這是一個優(yōu)秀的解耦實踐。下面LZ依然使用JAVA代碼將上述的類圖詮釋出來,我們來直觀的看看外觀模式的實現(xiàn)方式。首先是我們的子系統(tǒng),它包括三個接口,三個實現(xiàn),LZ這里一并給出。packagecom.facade;publicinter

3、faceSub1{voidfunction1();}packagecom.facade;publicinterfaceSub2{voidfunction2();}packagecom.facade;yearsmortgagehousing;4.mortgageregistrationformalitiesarecompleted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateralpublicinterfaceSub3{v

4、oidfunction3();}packagecom.facade;publicclassSub1ImplimplementsSub1{publicvoidfunction1(){System.out.println("子系統(tǒng)中Sub1接口的功能");}}packagecom.facade;publicclassSub3ImplimplementsSub3{publicvoidfunction3(){System.out.println("子系統(tǒng)中Sub3接口的功能");}}以上便是我們模擬出的一個子系統(tǒng),那么現(xiàn)在便是我們最重要的接口出場的時候了,LZ給出Fac

5、ade以及它的簡單實現(xiàn)。packagecom.facade;publicinterfaceFacade{/*下面隨便組裝幾個功能*/voidfunction12();voidfunction23();voidfunction123();}packagecom.facade;publicclassFacadeImplimplementsFacade{privateSub1sub1;privateSub2sub2;privateSub3sub3;yearsmortgagehousing;4.mortgageregistrationformalitiesarecomp

6、leted.(D)pledge1.borrower(includingthepledgor)between18-65yearsofage,withfullcivilcapacity;2.collateralpublicFacadeImpl(){super();this.sub1=newSub1Impl();this.sub2=newSub2Impl();this.sub3=newSub3Impl();}publicFacadeImpl(Sub1sub1,Sub2sub2,Sub3sub3){super();this.sub1=sub1;this.sub2=sub

7、2;this.sub3=sub3;}publicvoidfunction12(){sub1.function1();sub2.function2();}publicvoidfunction23(){sub2.function2();sub3.function3();}publicvoidfunction123(){sub1.function1();sub2.function2();sub3.function3();}}以上便是我們的外觀接口和實現(xiàn)類,它當中的功能一般是根據(jù)是客戶端的需要定制的,將客戶端的一個完整功能作為一個行為,然后調(diào)用子系統(tǒng)完成。下面我們看看客

8、戶端的調(diào)用。packag

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。