模式作用:
1,分步创建一个复杂的对象
2,解耦封装过程和具体创建的组件
3,无需关心组件如何组装
注意事项:
1,一定要一个稳定的算法进行支持
1,分步创建一个复杂的对象
2,解耦封装过程和具体创建的组件
3,无需关心组件如何组装
注意事项:
1,一定要一个稳定的算法进行支持
2,加工工艺是暴露的
建造者模式可以理解为:各司其职,拆解流程
<!--工作流程:白富美盖房子->包工头->工人->房子 -->
<meta charset="utf-8">
<script type="text/javascript">
//发生一个请求 白富美
//建造者模式 包工头
//完整的工程 工人
// 1.产出的东西是房子
// 2.baogongtou调用工人进行开工 而且他要很清楚工人们具体的某一个大项
// 3.工人是盖房子 工人可以建卧室,客厅,厨房
// 4.包工头只是一个借口而已 他不干活 他只对外说我能盖房子
function Fangzi(){
this.woshi="";
this.keting="";
this.chufang="";
}
function Baogongtou(){
this.gaifangzi=function(gongren){
gongren.jian_woshi();
gongren.jian_keting();
gongren.jian_chufang();
}
}
function Gongren(){
this.jian_woshi=function(){
//console.log('卧室我盖好了');
alert('卧室我盖好了');
}
this.jian_keting=function(){
alert('客厅我盖好了');
}
this.jian_chufang=function(){
alert('厨房我盖好了');
}
this.jiaogong=function(){
var _fangzi=new Fangzi();
_fangzi.woshi="ok";
_fangzi.keting="ok";
_fangzi.chufang="ok";
return _fangzi;
}
}
var gongren=new Gongren;
var baogongtou=new Baogongtou(gongren);
baogongtou.gaifangzi(gongren);
//主人要房子
var myfangzi=gongren.jiaogong();
console.log(myfangzi);
</script>