JS 创建型设计模式--建造者模式

建造者模式:将一个复杂对象的构建层与其表示层分离,同样的构建过程,可采用不同的表示

function Person(param){
  this.name = param && param.name || '保密';
  this.age = param && param.age || '保密';
}
Person.prototype = {
  getName : function(){
    return this.name
  }
}

function Skills(skill){
  this.skill = skill || '' ;
}

Skills.prototype = {
  getSkill : function(){
    return this.skill
  }
}

function National(national){
  this.national = national || ''
}
National.prototype = {
  getNational : function(){
    return this.national;
  }
}

var CreatePerson= function(param){
  var man = new Person(param);
  man.skills = new Skills(param.skill) 
  man.national = new National(param.national) ;
  return man;
}
var newPerson = new CreatePerson({name:'jack',age:'20',skill:'web',national:'china'})
console.log(newPerson .skills.skill)  //web
console.log(newPerson .national .national ) //china

建造者将一个完整的部分拆分成不同的类,然后通过拼接的方式组合成一个完整的部分;
相应的也更加关注于不同模块本身的一些细节处理,而并非工厂那样,关心最终的产物;

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容