Js的几种设计模式

单例模式

概念:每一次new出来的对象都是一模一样的,用===符号判断,结果是true

应用场景:网站的弹出层alert()或者右下角的广告页面,一个网站不可能只弹出一次这个界面,不能每次弹出就创建一个,每次弹出的都是之前创造好的,只是内容发生变化

组合模式

概念:举一个简单的例子,就像家里每个电器都有单独的开关,而组合模式就是设置一个总开关,这个开关可以控制家中所有电器的开关,这就是组合模式。

实现思想:先定义控制不同电器的开关,是一个个构造函数,这里的每一个构造函数都需要一个启动方法,然后再定义一个总开关,是一个构造函数,这时,需要一个能够承载所有构造函数实例的数组,总开关构造函数需要一个方法, 向数组里面添加内容,也需要一个能把数组里面的所有内容启动了的方法,

(应用场景:一个页面上有许多轮播图,当切换其他标签页面时,这个页面上的轮播图还在运行,定时器没有停止,设置离开这个页面时,定时器停止,轮播图停止运动。这时就可以利用组合模式,设置一个总开关,控制所有轮播图的停止与运动。)

观察者模式

概念:定义了一种一对多的依赖关系。让多个观察者对象同时监听某一个主题对象。这个主题对象在状态变化时,会通知所有的观察者对象,使他们能够自动更新自己。

比如:红绿灯和行人。红绿灯为被观察者,行人为观察者。当绿灯亮起时,人要通过了,红灯时,必须停下。这就是一个观察者模式。很多个行人同时为一个红路灯指示器作出响应。

发布订阅者模式

必须有一个中间调用层,举例子来说就是比如:送报纸的,报亭,和买报纸的人。报亭就是那个全局调用区域。送报纸的是发布者,整天买报纸的是订阅者。随着卖不同的报纸,买家得到的也随之变化

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值