建造者模式:将一个复杂对象的构建层与其表示层相互分离,同样的构建过程可采用不同的表示
创建应聘者实例为例,我们不仅仅要创建应聘者这个实例,我们还要在创建过程中注意这位应聘者都有哪些兴趣爱好,姓名等信息,所期望的职位等等。
//创建一位人类
var Human = function(param){
//技能
this.skill = param && param.skill || '保密'
//兴趣爱好
this.hobby = param $$ param.hobby || '保密'
}
//人类原型方法
Human.prototype = {
getSkill :function(){
return this.skill;
},
getHobby:function(){
return this.hobby;
}
}
//实例化姓名类
var Named = function(name){
var that = this;
//构造器
//构造函数解析姓名的姓与名
(function(name,that){
that.wholeName = name;
if(name.indexOf(' ') > -1){
that.FirstName = name.slice(0,name.indexOf(' '));
that.secondName = name.slice(name.indexOf(' '));
}
})(name,that);
}
//实例化职位类
var Work = function(work){
var that = this;
//构造器
//构造函数中通过传入职位特征来设置相应职位以及描述
(function(work