WEB开发网
开发学院网页设计JavaScript Javascript乱弹设计模式系列(2) - 抽象工厂以及工... 阅读

Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)

 2010-09-14 13:35:26 来源:WEB开发网   
核心提示: 这里包括4种颜色的子类,全部都继承于抽象类LMRBlock,Javascript乱弹设计模式系列(2) - 抽象工厂以及工厂方法模式(Factory)(6),子类中getData的方法做为抽象方法的具体实现;7. 现在该创建个工厂来实现它们了,添加BlockFactory.js文件,LMR

这里包括4种颜色的子类,全部都继承于抽象类LMRBlock,子类中getData的方法做为抽象方法的具体实现;

7. 现在该创建个工厂来实现它们了,添加BlockFactory.js文件,首先创建布局抽象工厂类:

functionBlockFactory(){
}
BlockFactory.prototype={
  getBlock:function(block){
    var_block;
    _block=this.createBlock(block);
    
    //添加其他逻辑
    //
    
    return_block;
  },
  createBlock:function(block){
    returnnewError("抽象方法,不能调用");
  },
  getBlockText:function(){
    returnnewError("抽象方法,不能调用");
  }
};

这里createBlock和getBlockText同样是做为抽象方法;

现在要创建三个继承于这个布局抽象工厂类,LMRBlockFactory,LRMBlockFactory,MLRBlockFactory,这里同样以LMRBlockFactory为例:

functionLMRBlockFactory(){
}
inheritClass(LMRBlockFactory,BlockFactory);
LMRBlockFactory.prototype.createBlock=function(block){
  var_block;
  switch(block)
  {
    case"blue":_block=newBlueLMRBlock();break;
    case"red":_block=newRedLMRBlock();break;
    case"green":_block=newGreenLMRBlock();break;
    case"violet":_block=newVioletLMRBlock();break;
    default:_block=newBlueLMRBlock();break;
  }
  return_block;
};
LMRBlockFactory.prototype.getBlockText=function(){
  return"LMR";
};

上一页  1 2 3 4 5 6 7 8  下一页

Tags:

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接