javascript 設計模式之工廠(Factory)模式

工廠模式介紹

    工廠模式是一個建立型的模式,主要就是建立對象。其中工廠模式又分爲簡單工廠模式和抽象工廠模式。簡單工廠模式是經過工廠方法肯定建立 對應類型的對象。抽象工廠模式是經過子類來實現,成員實例化推遲到子類中進行。工廠模式都擁有相同的接口。 this

    工廠模式通常用於:建立類似對象時的重複操做,不知道對象類型提供建立對象的接口。下面咱們模式飛機大戰遊戲中的飛機類型進行工廠模式示例。 spa

工廠模式示例

工廠模式示例以下: prototype

/*構建飛機工廠(飛機大戰遊戲中的飛機)*/
var AirplaneFactory = function(){};  AirplaneFactory.prototype = {
  createAirplane:function(model){
    var plan;
    switch(model){
        case 'General':
          plan = new GeneralPlan();
          break;
        case 'Boss':
          plan = new BossPlan();
          break;
    }
    return plan;
  }
}
/*通常炮灰飛機*/
var GeneralPlan = function(){};
GeneralPlan.prototype = {
  name:'general paln',
  type:'general',
  getName:function(){
    return this.name;
  },
  getType:function(){
    return this.type;
  }
}
/*BOSS 飛機*/
var BossPlan = function(){};
BossPlan.prototype = {
  name:'boss plan',
  type:'boss',
  getName:function(){
    return this.name;
  },
  getType:function(){
    return this.type;
  }
}
/*經過工廠生成 相應的飛機*/
var myPlan = new AirplaneFactory().createAirplane('Boss');
console.log(myPlan.getName());
var myPlan2 = new AirplaneFactory().createAirplane('General');
console.log(myPlan2.getName());

工廠模式總結

   

在JavaScript中使用工廠模式的主要弱化了對象間的耦合,簡化更換或者選擇類,防止代碼的重複工做。 code

相關文章
相關標籤/搜索