Javascript建造者模式怎样实现?优点有哪些?
Admin 2021-10-22 群英技术资讯 2261 次浏览
本文主要给大家分享的是Javascript建造者模式,建造者模式是设计模式中的一种,之前我们也了解其他的设计模式,感兴趣的朋友可以了解看看,接下来我们就看Javascript建造者模式的定义、优点、作用和实现等等。
建造者模式是相对比较简单的一种设计模式,属于创建型模式的一种;
定义:将一个复杂的对象分解成多个简单的对象来进行构建,将复杂的构建层与表现层分离,使相同的构建过程可以创建不同的表示模式;
优点:
模式作用:
注意事项:
白话解释:
某土豪想建一个房子,某土豪只需要找包工头,包工头再去找施工团队来建造房子,而不需要土豪自己去一个个的找工人搭建施工团队开始施工;包工头知道土豪的需求,也知道哪里能找到工人搭建施工团队,工人可以直接干活,中间节省了土豪直接和工人沟通的成本;土豪不需要知道房子该怎么建,土豪只需要最后能验收到房就行;
在写代码之前我们先分析一下:
1、产出的东西是房子
2、包工头调用工人进行开工而且他要很清楚工人们具体的某一个大项
3、工人是盖房子的工人可以建卧室建客厅建厨房
4、包工头只是一个接口,他只对外说盖房子,他不用做事情;
function Fangzi(){
this.woshi = "";
this.keting = "";
this.chufang = "";
}
function Baogongtou(){
this.jianfangzi = function(gongren){
gongren.jian_woshi();
gongren.jian_keting();
gongren.jian_chufang();
}
}
function Gongren(){
this.jian_woshi = function(){
console.log("卧室建好了!");
}
this.jian_keting = function(){
console.log("客厅建好了!");
}
this.jian_chufang = function(){
console.log("厨房建好了!");
}
this.wangong = function(){
var fangzi = new Fangzi();
fangzi.woshi = "ok";
fangzi.keting = "ok";
fangzi.chufang = "ok";
return fangzi;
}
}
let gongren = new Gongren();
let baogongtou = new Baogongtou();
//卧室建好了!
//客厅建好了!
//厨房建好了!
baogongtou.jianfangzi(gongren);
var my_fangzi = gongren.wangong();
/*
Fangzi={
chufang: "ok"
keting: "ok"
woshi: "ok"
}
*/
console.log(my_fangzi);
上述代码中我们可以看到,Gongren()里面是具体的施工过程,也就是具体做的事情,Fangzi()里面一开始都是空的,没有客厅、厨房、卧室;Baogongtou()里面只是对外宣传可以建房子,然后传入工人方法调用工人进行施工;工人方法执行完了也就是施工完了,然后就是交房;一个新的方法里面实例化Fangzi()的方法,在新方法里面重新赋值即可;
以上就是Javascript建造者模式的相关介绍,本文代码有一定的参考价值,需要的朋友可以了解看看,希望大家阅读完这篇文章能有所收获,想要了解更多Javascript建造者模式的内容,可以继续浏览群英网络其他相关的文章。
文本转载自脚本之家
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
最近因为基础设施调整,需要进行harbor镜像仓库的迁移,主要是旧版本很老了,不想使用,直接打算部署新的,原以为直接使用复制功能就可以,但是发现版本差异太大,直接失败,本打算使用中间版本过度进行迁移,但是需要测试,好多功能,而且配置有点费事,尽管官方提供了升级说明,但是没敢用,就怕出故障restapi请求流程还好harbor提供了restapi,还算比较全,proj
JavaScript怎么创建多个对象?javascript面向对象创建多个对象的方法,哪个最好用?字面量?工厂模式方法?构造函数方法?原型方法?原型加构造函数方法?进来一看便知。
我们知道JS中有很多操作数组的方便方法,因此这篇文章就主要给大家分享JS对象数组的简单增删改操作,下文有实例供大家参考,感兴趣的朋友就继续往下看吧。
这篇文章主要介绍了VUE+Canvas实现财神爷接元宝小游戏,需要的朋友可以参考下本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
目录Storage本地化存储localStoragesessionStorageStrorage本地存储实例在model文件夹下面新建一个storage.js创建storeStorage本地化存储存储优点:空间更大:cookie为4kb,storage为5mb节省网络流量:不会发送数据到服务器,直接存储在本地快速显示:
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008