中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

網(wǎng)站建設(shè)業(yè)務(wù)經(jīng)理崗位職責(zé)百度教育網(wǎng)站

網(wǎng)站建設(shè)業(yè)務(wù)經(jīng)理崗位職責(zé),百度教育網(wǎng)站,做搜索引擎優(yōu)化對(duì)網(wǎng)站有哪些好處,wordpress 快報(bào)插件一,定義 定義一個(gè)操作中的算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。 在面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程中,通常會(huì)遇到這樣一個(gè)問(wèn)題,我們知道一個(gè)算法所需的關(guān)鍵步…

一,定義

定義一個(gè)操作中的算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

在面向?qū)ο蟮拈_(kāi)發(fā)過(guò)程中,通常會(huì)遇到這樣一個(gè)問(wèn)題,我們知道一個(gè)算法所需的關(guān)鍵步驟,并確定了這些步驟的執(zhí)行順序,但是,某些步驟的具體實(shí)現(xiàn)是未知的,或者說(shuō)某些步驟的實(shí)現(xiàn)是會(huì)隨著環(huán)境的變化而改變的,例如,執(zhí)行程序的流程大致如下:

1,檢查代碼的正確性

2,鏈接相關(guān)的類庫(kù)

3,編譯相關(guān)代碼

4,執(zhí)行程序

對(duì)于不同的程序設(shè)計(jì)語(yǔ)言,上述四個(gè)步驟都是不一樣的,但是,他們的執(zhí)行流程是固定的,這類問(wèn)題的解決方案就是模板方法模式。

模板方法實(shí)際上是封裝一個(gè)固定流程,就像是一套執(zhí)行模板一樣,第一步該做什么,第二步該做什么都已經(jīng)在抽象類中定義好。而子類可以有不同的算法實(shí)現(xiàn),在框架不被修改的情況下實(shí)現(xiàn)某些步驟的算法替換。

二,使用場(chǎng)景

1,多個(gè)子類有公有的方法,并且邏輯基本相同時(shí)。

2,重要,復(fù)雜的算法,可以把核心算法設(shè)計(jì)為模板方法,周邊的相關(guān)細(xì)節(jié)功能則由各個(gè)子類實(shí)現(xiàn)。

3,重構(gòu)時(shí),模板方法模式是一個(gè)經(jīng)常使用的模式,把相同的代碼抽取到父類中,然后通過(guò)鉤子函數(shù)約束其行為。

角色介紹:

抽象類:定義了一套算法框架

具體實(shí)現(xiàn)類:實(shí)現(xiàn)具體算法框架

三,使用案例

在英雄聯(lián)盟游戲中,玩家要開(kāi)始一場(chǎng)排位游戲,需要先1,進(jìn)入匹配隊(duì)列? 2,進(jìn)入banpick界面3,禁用英雄 4,選擇英雄 5,選擇符文和召喚師技能 6,進(jìn)入游戲

如果使用模板模式,怎么來(lái)實(shí)現(xiàn)呢?

首先定義一個(gè)抽象模板類:

public class AbsRank {public void startMate(){System.out.println("進(jìn)入匹配隊(duì)列");}public void startBp(){System.out.println("進(jìn)入bp界面");}public void startBan(){System.out.println("開(kāi)始禁用英雄");}public void select(){System.out.println("選擇英雄");}public void selectSkill(){System.out.println("選擇符文和召喚師技能");}public void begin(){System.out.println("開(kāi)始游戲");}public final void playGame(){startMate();startBp();startBan();select();selectSkill();begin();}
}

定義兩個(gè)玩家類:

public class Yuanzhen extends AbsRank{@Overridepublic void startBan() {System.out.println("禁用亞索");}@Overridepublic void select() {System.out.println("選擇劍圣");}@Overridepublic void selectSkill() {System.out.println("選擇懲戒和閃現(xiàn)");}
}
public class Xiaoming extends AbsRank{@Overridepublic void startBan() {System.out.println("禁用趙信");}@Overridepublic void select() {System.out.println("選擇蠻王");}@Overridepublic void selectSkill() {System.out.println("選擇疾跑和閃現(xiàn)");}
}

使用 :

Yuanzhen yuanzhen =new Yuanzhen();
yuanzhen.playGame();
Xiaoming xiaoming =new Xiaoming();
xiaoming.playGame();

最后結(jié)果:

四,總結(jié)

模板方法模式用四個(gè)字概括就是:流程封裝。也就是把某個(gè)固定的流程封裝到一個(gè)final函數(shù)中 ,并且讓子類能夠定制這個(gè)流程中的某些或者所有步驟,這就要求父類提取共用的代碼,提升代碼的復(fù)用率,同時(shí)也帶來(lái)了更好的可擴(kuò)展性。

優(yōu)點(diǎn):

1,封裝不變部分,擴(kuò)展可變部分

2,提取公共部分代碼,便于維護(hù)

缺點(diǎn):

模板方法會(huì)帶來(lái)代碼閱讀的難度,會(huì)讓用戶覺(jué)得難以理解

http://www.risenshineclean.com/news/37021.html

相關(guān)文章:

  • 網(wǎng)站中間內(nèi)容做多大尺寸的那個(gè)推廣平臺(tái)好用
  • 江蘇省建設(shè)廳網(wǎng)站模板建站網(wǎng)頁(yè)
  • 湛江網(wǎng)頁(yè)設(shè)計(jì)培訓(xùn)性價(jià)比高seo的排名優(yōu)化
  • 中企動(dòng)力網(wǎng)站站長(zhǎng)之家統(tǒng)計(jì)
  • 女人學(xué)ui有前途嗎汕頭seo排名公司
  • 牛街網(wǎng)站建設(shè)2022年最新最有效的營(yíng)銷模式
  • 天津網(wǎng)站設(shè)計(jì)公司排名優(yōu)幫云排名優(yōu)化
  • 網(wǎng)站手機(jī)端打不開(kāi)凡科網(wǎng)站登錄入口
  • 淘客手機(jī)網(wǎng)站模板發(fā)布
  • 衡陽(yáng)縣做淘寶網(wǎng)站建設(shè)內(nèi)存優(yōu)化大師
  • jsp做網(wǎng)站圖片怎么存儲(chǔ)談?wù)勀銓?duì)網(wǎng)絡(luò)營(yíng)銷的認(rèn)識(shí)
  • 深圳定制建站鄭州seo多少錢(qián)
  • 做網(wǎng)站 分辨率應(yīng)該是多少無(wú)錫網(wǎng)站制作優(yōu)化
  • 哪個(gè)網(wǎng)站做的最好百度競(jìng)價(jià)ocpc投放策略
  • 新聞網(wǎng)站抓取做輿情監(jiān)測(cè)河北網(wǎng)絡(luò)推廣技術(shù)
  • 一個(gè)網(wǎng)絡(luò)空間做兩個(gè)網(wǎng)站楚雄今日頭條新聞
  • 徐州自助建站系統(tǒng)google框架三件套
  • 如何做網(wǎng)站域名解析seo推廣軟件品牌
  • 做外鏈網(wǎng)站有哪些廣州seo服務(wù)
  • 網(wǎng)站如何做se外貿(mào)推廣網(wǎng)站
  • 網(wǎng)站建設(shè)期末考試答案跨境電商培訓(xùn)機(jī)構(gòu)哪個(gè)靠譜
  • 地方網(wǎng)站需要什么手續(xù)成免費(fèi)crm軟件有哪些優(yōu)點(diǎn)
  • 中山石岐網(wǎng)站建設(shè)重慶seo建站
  • 廊坊網(wǎng)站建設(shè)策劃經(jīng)典軟文廣告案例
  • 網(wǎng)站開(kāi)發(fā)翻譯插件怎么推廣自己的微信
  • 網(wǎng)站建設(shè)服務(wù)內(nèi)容今天濟(jì)南剛剛發(fā)生的新聞
  • 公司怎么制作網(wǎng)站免費(fèi)發(fā)帖推廣網(wǎng)站
  • 吉林省建設(shè)廳網(wǎng)站首頁(yè)域名??烤W(wǎng)頁(yè)推廣大全
  • 網(wǎng)站功能設(shè)計(jì)的內(nèi)容個(gè)人怎么注冊(cè)自己的網(wǎng)站
  • 無(wú)貨源電商平臺(tái)有哪些廈門(mén)站長(zhǎng)優(yōu)化工具