模板方法模式

2015-06-14  本文已影响30人  JohnSmith

定義

模板方法模式由兩部分構成,第一部分是抽象父類,第二部分是具體的實現子類。通常在抽象父類中封裝了子類的算法框架,包括實現一些公共方法以及封裝子類中所有方法的執行順序。子類的算法框架即是模板方法。

要點

核心代碼

var Beverage = function(param) {
    var boilWater = function() {
        \\ ...
    };
    var brew = param.brew || function() {
        throw new Error('必須傳遞 brew 方法');
    };
    var pourInCup = param.pourInCup || function() {
        throw new Error('必須傳遞 pourInCup 方法');
    };
    var addCondiments = param.addCondiments || function() {
        throw new Error('必須傳遞 addCondiments 方法');
    };

    var F = function() {};
    F.prototype.init = function() {
        boilWater();
        brew();
        pourInCup();
        addCondiments();
    };

    return F;
};

var Tea = Beverage({
    brew: function() { \\ ... },
    pourInCup: function() { \\ ... },
    addCondiments: function() { \\ ... },
});
var tea = new Tea();
tea.init();
上一篇下一篇

猜你喜欢

热点阅读