美文网首页
JS 创建型设计模式--建造者模式

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

作者: 麻辣小面瘫 | 来源:发表于2018-01-16 20:12 被阅读0次

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

    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
    

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

    相关文章

      网友评论

          本文标题:JS 创建型设计模式--建造者模式

          本文链接:https://www.haomeiwen.com/subject/ecseoxtx.html