国产乱人视频免费观看网站,九九精品视频在线观看,九九久re8在线精品视频,日韩久久精品五月综合

<menu id="zjelp"></menu>

    <th id="zjelp"><tbody id="zjelp"><form id="zjelp"></form></tbody></th>
    <small id="zjelp"><menuitem id="zjelp"></menuitem></small>
  • <small id="zjelp"></small>

    <address id="zjelp"></address>
    <address id="zjelp"></address>
    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧

    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧

    ID:30768947

    大?。?0.50 KB

    頁數(shù):8頁

    時(shí)間:2019-01-03

    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧_第1頁
    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧_第2頁
    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧_第3頁
    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧_第4頁
    java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧_第5頁
    資源描述:

    《java的設(shè)計(jì)模式-java開發(fā)java經(jīng)驗(yàn)技巧》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

    1、Java的設(shè)計(jì)模式-Java開發(fā)Java經(jīng)驗(yàn)技巧Java的設(shè)計(jì)模式木文作者:ImportNew?唐小娟未經(jīng)許可,禁止轉(zhuǎn)載!生命中唯一不變的事實(shí)就是世事時(shí)刻在變。這在軟件開發(fā)的每一個(gè)階段都不可避免。我們所要面對(duì)的挑戰(zhàn)是:要以最小的延遲和最大的靈活性來適應(yīng)變化。令人欣慰的是有人已經(jīng)解決了你的設(shè)計(jì)問題,而且他們的方法已經(jīng)形成了最佳實(shí)踐了;這些公認(rèn)為最佳實(shí)踐的方法就是“設(shè)計(jì)模式”。今天我們要研究?jī)蓚€(gè)最流行的設(shè)計(jì)模式,學(xué)習(xí)怎樣使用好的設(shè)計(jì)訃你得代碼更干凈,訃擴(kuò)展性更好。適配器模式(AdapterDesignPattern)我們假設(shè)你有一個(gè)III系統(tǒng),現(xiàn)在你需要讓它適應(yīng)新的三方

    2、庫,但是這個(gè)庫用的是完全不同的API。舊系統(tǒng)適用的接口是完全不同于新庫的。當(dāng)然,你若夠勇敢的話,可以改掉舊的代碼以適用新的接口。但是對(duì)于所有舊系統(tǒng)來說,千萬不要這么做。適配器模式救了你的命!你可以簡(jiǎn)單的寫一個(gè)適配器(新的封裝類)好的設(shè)計(jì)不僅是可以重復(fù)使用,還要貝有可擴(kuò)展性。適配器使用了接口,并且轉(zhuǎn)換成客戶端可以解析的接口,使不兼容的類聯(lián)系在一起。實(shí)戰(zhàn)適配器設(shè)計(jì)模式好了,閑話少說,我們來實(shí)戰(zhàn)演習(xí)。我們舊系統(tǒng)使用的是下面的LegacyVideoController接口來控制視頻系統(tǒng)。publicinterfaceLegacyVideoController!/***Beg

    3、instheplaybackafterstartTimeTicks*fromthebeginningofthevideo*@paramstartTimcTickstimeinmilliseconds*/publicvoidstartPlayback(longstartTimeTicks);???}客戶端這樣使用控制器:publicvoidplayBackVidco(longtimcToStart,LcgacyVidcoControllercontroller){if(controller!=null){controller.startPlayback(timeToS

    4、tart);用戶需求變了!用戶需求改變也不是什么新鮮事一一這時(shí)常發(fā)生。用戶需求總是在變,而我們的系統(tǒng)需耍適應(yīng)新的視頻控制器,接口如下:publicinterfaceAdvancedVideoControl1er{/***Placesthecontrollerheadaftertime*fromthebeginningofthetrack*?paramtimetimedefineshowmuchseekisrequired*/publicvoidseek(Timetime);/***Playsthetrack*/publicvoidplay();}然后客戶端代碼失效了

    5、,新的接口不再兼容了。適配器救了我們那么我們?nèi)绾翁幚磉@個(gè)改變了的接口,而不改變我們舊的代碼呢?你知道答案了,不是嗎?我們寫個(gè)簡(jiǎn)單的適配器類,就像這樣:publicclassAdvancedVideoControllerAdapterimplementsLegacyVideoController{privateAdvancedVideoControl1eradvancedVideoController;publicAdvancedVideoControllerAdapter(AdvancedVideoControIleradvancedVideoController)

    6、{this.advancedVideoController二advancedVideoController;}?OverridepublicvoidstartPlayback(longstartTimeTicks){//ConvertlongintoDateTimeTimestartTime=getTime(startTimeTicks);//AdaptadvancedVideoController.seek(startTime);advancedVideoController.play();適配器實(shí)現(xiàn)了目標(biāo)的接口,所以不需要更改客戶端代碼。我們的適配器類中含有需要

    7、兼容的接口(AdvancedVideoController)的實(shí)例。這種“hasp”的關(guān)系讓適配器將客戶端的請(qǐng)求發(fā)給實(shí)際的實(shí)例。適配器也能夠減少客戶端和實(shí)現(xiàn)代碼之間的耦合?,F(xiàn)在我們可以簡(jiǎn)單的將新對(duì)象封裝到適配器屮去,而且不需要更改客戶端代碼,因?yàn)檫@個(gè)新對(duì)象已經(jīng)兼容了以前的接口。AdvancedVideoControlleradvancedController二controllerFactory.createController();//adaptLcgacyVidcoControllercontrollcrAdaptcr二newAdvancedVideoCont

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

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

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