这篇文章主要讲解了“JavaScript的设计模式怎么实现”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“JavaScript的设计模式怎么实现”吧!设计模式是为了解决某种问题,而设计的一套最佳解决方案。
面向对象 – 更加注重对象 – 找一种最佳的定义对象并个对象添加属性和方法 的 方案
找到的最佳的解决方案 – 就是一种设计模式针对不同的问题,我们会有不同的最佳解决方案 – 设计模式常见的设计免费云主机、域名模式:单例模式组合模式观察者模式命令模式代理模式工厂模式策略模式适配器模式。。。数据库连接 – 多个功能都需要操作数据库 – 重新连接数据库 – 1000个功能,连接1000次数据库注册功能,每次注册都需要操作数据库 – 同一时间有1000个人在注册mysql数据库有一个连接限制:最多只能支持同时又200个连接我们连接一次数据库,得到一个连接,多次操作数据库,使用这一个连接其就能操作怎么操作,让多次执行数据库语句使用同一个连接 – 我们就可以设计一个设计模式设计模式:定义一个类,这个类new以后就得到一个连接,以后每次执行数据库语句的时候,都可以从这个类中得到一个连接
单例模式:从一个类中只能得到一个对象 – 不管操作了多少次这个类,最终得出的所有连接对象都是同一个对象让一个类创建出来的所有对象,里面的所有属性和方法都一模一样。比如封装一个类,将一些常用的操作函数作为方法放进去,以后每次都使用同一个对象来调用这些方法正常情况,一个类创建出来的每个对象都是不一样的。单例模式就是让这两个对象是一样的,也就是说,一个类永远只有一个实例对象变量P暴露在全局的变量会造成全局的污染
利用闭包解决每次都会重新定义p的问题单例模式的核心代码:单例模式的应用场景在封装工具库。例:封装封装一个工具库
单例模式 应用 封装工具库组合模式就是制作启动器。多个类在实例化以后,执行起来使用一个同名的方法来启动,这时候可以做一个启动器,让多个类一起启动。组合模式制作启动器:https://blog.csdn.net/weixin_44070254/article/details/117574565?spm=1001.2014.3001.5501有人订阅 有人发布
发布订阅模式:需要一个观察者 需要一个被观察者 如果观察者发现被观察者的状态发生了改变,就需要执行一个任务
定义一个观察者:观察者模式,又称发布-订阅模式。意思是让一个人不停的监控某件某件东西,当这个东西要发生某种行为的时候,这个人就通知一个函数执行这个行为的操作。例:当事件的代码写好以后,其实这个事件就不停的监控用户在页面中的行为,一旦用户触发这个事件的时候,就调用函数处理这个事件。观察者模式就是类似的操作,写观察者模式的目的,是为了给一个非元素的数据绑定一个自定义事件。例:给一个obj绑定一个abc的事件分析:给一个元素绑定事件,有绑定方法,有触发条件,有取消绑定。要给一个对象绑定一个自定义事件。那么这个事件如何绑定,如何触发,如何解绑这个事件。所以:需要一个方法处理事件的绑定。需要一个方法处理如何触发这个事件。需要一个方法处理如何解绑这个事件。元素的事件,一个事件类型可以绑定多个处理函数。对象的自定义事件如何让一个事件类型绑定多个函数。所以:需要一个空间,存储事件类型对应的处理函数们。此时,如要给这个对象绑定事件和处理函数的话,需要事件类型和处理函数作为参数,所以调用时要传入实参在bind方法中接收参数,并将事件类型和处理函数对应存储起来:如果给这个事件再绑定一个函数b的话,会将原来的a覆盖掉,所以,应该先判断,如果对应的这个数组中没有数据就直接放进去,如果有了就应该追加打印w对象的结果:触发这个事件需要传入触发哪个事件类型测试:这两个处理函数都没有参数,如果要传入参数的时候该怎么处理?触发事件的时候就要传入实参触发事件的方法就应该处理这些参数添加一个带参数的处理函数,并触发事件执行:结果:解绑也需要知道解绑的事件类型和处理函数解绑测试:如果绑定事件的时候使用的匿名函数,就无法进行解绑了,所以再添加一个解绑事件所有处理函数的方法:观察者模式跟发布订阅模式不一样的地方在于,要有观察者和被观察者。创建观察者:创建被观察者:一个问题有多种解决方案,且随时还可以有更多的解决方案,就是策略模式。例如:一个商品在售卖的时候,会有多种折扣方式,慢100减10元,满200减30元等…商品活动:
满100减10
满200减30
满300打8折策略模式:将折扣放在闭包中保存起来 – 通过闭包对折扣进行增删改查操作正常的函数表达方式:这种方式,在添加折扣或删除折扣的时候总是需要修改原函数。策略模式代码:感谢各位的阅读,以上就是“JavaScript的设计模式怎么实现”的内容了,经过本文的学习后,相信大家对JavaScript的设计模式怎么实现这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是云技术,小编将为大家推送更多相关知识点的文章,欢迎关注!
这篇文章主要讲解了“jQuery的设计模式有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“jQuery的设计模式有哪些”吧!Vue 2 的插件也是类似的思路哦说实话,你在 2018 年找前端让他写一个事件委…