<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    經(jīng)驗(yàn)不在于年限,在于積累---專注互聯(lián)網(wǎng)軟件開發(fā)

    把工作當(dāng)事業(yè)做,把項(xiàng)目當(dāng)作品做!

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      55 Posts :: 0 Stories :: 66 Comments :: 0 Trackbacks

    先簡(jiǎn)單介紹Template Method模式的內(nèi)容和應(yīng)用場(chǎng)景。

    Template Method模式也叫模板方法模式,它把具有特定步驟算法中的某些必要的處理委讓給抽象方法,通過子類繼承對(duì)抽象方法的不同實(shí)現(xiàn)改變整個(gè)算法的行為。

    在作為抽象類的父類里,定義了一個(gè)具有固定算法并可以細(xì)分為多個(gè)步驟的模板方法(public),Template Method模式把這些可以被細(xì)分的可變步驟抽象為可以被子類重載的抽象方法(protected abstract),并通過在子類中的重載(重新定義),做到無需改變模板方法的算法步驟而可以重新定義該算法中的某些特定的步驟。

    Template Method模式的UML圖如下:

    image

    (注意:版權(quán)所有hankchen

    Template Method模式一般應(yīng)用在具有以下條件的應(yīng)用中:

    1. 具有統(tǒng)一的操作步驟或操作過程

    2. 具有不同的操作細(xì)節(jié)

    3. 存在多個(gè)具有同樣操作步驟的應(yīng)用場(chǎng)景,但某些具體的操作細(xì)節(jié)卻各不相同

    前一段時(shí)間,做了一個(gè)SEO的項(xiàng)目,需要到一些站點(diǎn)發(fā)帖回復(fù)增加外鏈的數(shù)目,期望提高搜索引擎的排名順序。先不管這個(gè)項(xiàng)目的可行性和定位,現(xiàn)在只談涉及的設(shè)計(jì)技術(shù)(模式與重構(gòu))。

    由于涉及多個(gè)站點(diǎn)(SitePost),并且站點(diǎn)的數(shù)目未來是不可預(yù)知的,這是開發(fā)中的一個(gè)變數(shù)。為了以后的可擴(kuò)展性,下面是部分設(shè)計(jì)圖:

    image

    (注意:版權(quán)所有hankchen

    在接口ISitePost中定義了每個(gè)站點(diǎn)類必須具備群發(fā)帖、群回復(fù)的功能。

    群發(fā)帖的接口:

    public boolean postAll(List<Siteboards> childboard, List<Siteusers> users, List<Postinfos> postinfos);

    群回復(fù)的接口:

    public boolean replyAll(List<Articleinfos>articles, List<Siteusers> users, List<Postinfos> postinfos, );

    現(xiàn)在以群發(fā)帖的接口為例,在抽象類AbstractSitePost中采用Template Method模式實(shí)現(xiàn)了這個(gè)接口。

    之所以,采用這個(gè)模板方法,是因?yàn)槊總€(gè)站點(diǎn)群發(fā)帖的過程,或者說步驟,是一樣的:

    1. 首先的群登錄(隨機(jī)取代理IP)

    2. 然后是,針對(duì)站點(diǎn)的每個(gè)版面,隨機(jī)用一個(gè)賬號(hào)和一個(gè)帖子來提交。

    這些過程是相同的,不同的是:每個(gè)站點(diǎn)的發(fā)帖細(xì)節(jié)不同(即post方法不同)。

    具體發(fā)帖的post方法定義如下:

    Protected abstract String post(Siteusers userinfo,Siteboards sb,Postinfos postinfo);

    這樣,具體到AAA站點(diǎn)(AAASitePost類),只需要實(shí)現(xiàn)自己的post方法即可。

    友情提示:本博文章歡迎轉(zhuǎn)載,但請(qǐng)注明出處:陳新漢
    posted on 2009-09-18 16:22 hankchen 閱讀(1216) 評(píng)論(0)  編輯  收藏 所屬分類: 設(shè)計(jì)模式

    只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


    網(wǎng)站導(dǎo)航:
     
    主站蜘蛛池模板: 亚洲国产精品狼友中文久久久| 亚洲AV成人无码网站| 成年黄网站色大免费全看| 亚洲国产午夜精品理论片在线播放| 中文在线观看永久免费| 4480yy私人影院亚洲| 天天看免费高清影视| 国产免费黄色无码视频| 亚洲精品视频免费在线观看| 国产精品四虎在线观看免费| 国产一区二区三区免费观看在线| 亚洲日本中文字幕一区二区三区| 中文字幕在线观看亚洲日韩| 亚洲v国产v天堂a无码久久| 少妇人妻偷人精品免费视频| 亚洲gay片在线gv网站| 91在线精品亚洲一区二区| 免费观看亚洲人成网站| 91精品啪在线观看国产线免费| 久久亚洲美女精品国产精品 | 亚洲成av人片在线看片| 无码免费午夜福利片在线 | 亚洲人成网站观看在线播放| 黄色网站软件app在线观看免费| 国产亚洲精品成人AA片新蒲金| 国产精品亚洲综合| 亚洲日韩图片专区第1页| 免费人成在线观看视频播放| 成人福利免费视频| 日韩av无码免费播放| 美女扒开屁股让男人桶爽免费| 国产成人3p视频免费观看| 18禁美女裸体免费网站| 搡女人免费免费视频观看| 美女被免费网站在线视频免费| 亚洲国产精品成人一区| 免费无码A片一区二三区| 久久久久久成人毛片免费看| 国产精品综合专区中文字幕免费播放 | 久久综合日韩亚洲精品色| 国产又大又粗又硬又长免费 |