小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Template method pattern 模板方法模式

 孫中熙——路 2012-02-16
Template method pattern 模板方法模式
2010-05-14 16:57

Template method pattern 模板方法模式。

它是多態(tài)技術(shù)的一種應(yīng)用。代碼如下,

abstract class MyTemplate{
    abstract void step1();
    abstract void step2();
    abstract void step3();

    /**
     * 這就是模板。被子類共用。
     */
    final void TemplateMethod(){
step1();
step2();
step3();
    }
}

子類(略)。

所有子類會(huì)共用模板方法。不同子類對(duì)抽象方法的實(shí)現(xiàn)不同,但大的藍(lán)圖并未改
變。戰(zhàn)役的方式不同,戰(zhàn)略并未受到影響?;蛘哒f(shuō),大的戰(zhàn)略制定下來(lái),小的戰(zhàn)
役你們自己看著辦就行。

架子是怎么搭起來(lái)的?架子就是這么搭起來(lái)的。架構(gòu)師是做什么的?架構(gòu)師就是
搭架子的人。

常說(shuō)的I call you 而不是 You call me 就表現(xiàn)于此。子類的編寫者不用考慮去
調(diào)用某個(gè)算法方法,只需要關(guān)注實(shí)現(xiàn)自己的方法,自然就會(huì)被更高一級(jí)的方法調(diào)
用。

模板方法也可以看是個(gè)大的算法架子,算法的具體步驟被子類來(lái)實(shí)現(xiàn)。
Stragegy模式也是跟算法有關(guān)的模式,這里比較它們一下。

Stragegy模式是做一件事情有多種算法實(shí)現(xiàn),這種被實(shí)現(xiàn)推遲到子類里實(shí)現(xiàn)。
Template模式是算法已經(jīng)確定,而實(shí)現(xiàn)步驟的細(xì)節(jié)被推遲到子類里實(shí)現(xiàn)。

Strategy 代碼如下,

interface Strategy {
    int execute(int a, int b);
}

class Context {
    private Strategy strategy;
    // Constructor
    public Context(Strategy strategy) {
        this.strategy = strategy;
    }

    public int executeStrategy(int a, int b) {
        return strategy.execute(a, b);
    }
}


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多