創造型——簡單工廠模式

定義:由一個工廠對象決定建立某一正產品對象類的實例this

理解:一個工廠根據傳入的參數,動態的決定應該建立哪個產品的實例。spa

eg:(一個運動工廠)prototype

var SportFactory = function(name){
    switch(name){
    case "NBA":
        return new Basketball();
    case "wordCup":
        return new Football();
    case "FrenchOpen":
        return new Tennis();
    }
}

eg:(基類)code

//籃球基類
var Basketball = function(){
    this.intro = '籃球盛行於美國';
}
Basketball.prototype = {
    getNumber:function(){
        console.log("每一個隊伍須要5名隊員");
    }
}

//足球基類
var Football = function(){
    this.intro = '足球在全世界都很流行';
}
Football.prototype = {
    getNumber:function(){
        console.log("每一個隊伍須要11名隊員");
    }
}

//網球基類
var Tennis = function(){
    this.intro = '每一年都有不少網球系列賽';
}
Tennis.prototype = {
    getNumber:function(){
        console.log("每一個隊伍須要1名隊員");
    }
}

缺點:簡單工廠類集中了因此對象的實例化,當系統中的產品類不斷的增長,須要修改工廠類,而且增長判斷條件,不利於系統的維護和擴展,只適用於建立少許類的狀況下對象

相關文章
相關標籤/搜索