课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
随着我们对JavaScript编程开发语言的掌握,对于不同场景下使用哪种设计模式会有更清晰的判断。下面我们就一起来了解一下,JavaScript编程中的几种常见设计模式都有哪些类型。
设计原则
单一职责原则(SRP)
一个对象或方法只做一件事情。如果一个方法承担了过多的职责,那么在需求的变迁过程中,需要改写这个方法的可能性就越大。
应该把对象或方法划分成较小的粒度
少知识原则(LKP)
一个软件实体应当尽可能少地与其他实体发生相互作用
应当尽量减少对象之间的交互。如果两个对象之间不必彼此直接通信,那么这两个对象就不要发生直接的相互联系,可以转交给三方进行处理
开放-封闭原则(OCP)
软件实体(类、模块、函数)等应该是可以扩展的,但是不可修改
当需要改变一个程序的功能或者给这个程序增加新功能的时候,可以使用增加代码的方式,尽量避免改动程序的源代码,防止影响原系统的稳定
什么是设计模式
作者的这个说明解释得挺好
假设有一个空房间,我们要日复一日地往里面放一些东西。简单的办法当然是把这些东西直接扔进去,但是时间久了,就会发现很难从这个房子里找到自己想要的东西,要调整某几样东西的位置也不容易。所以在房间里做一些柜子也许是个更好的选择,虽然柜子会增加我们的成本,但它可以在维护阶段为我们带来好处。使用这些柜子存放东西的规则,或许就是一种模式
学习设计模式,有助于写出可复用和可维护性高的程序
设计模式的原则是“找出程序中变化的地方,并将变化封装起来”,它的关键是意图,而不是结构。
不过要注意,使用不当的话,可能会事倍功半。
一、单例模式
1.定义
保证一个类仅有一个实例,并提供一个访问它的全局访问点
2.核心
确保只有一个实例,并提供全局访问
二、策略模式
1.定义
定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。
2.核心
将算法的使用和算法的实现分离开来。
一个基于策略模式的程序至少由两部分组成:
一个部分是一组策略类,策略类封装了具体的算法,并负责具体的计算过程。
二个部分是环境类Context,Context接受客户的请求,随后把请求委托给某一个策略类。要做到这点,说明Context中要维持对某个策略对象的引用
3.实现
策略模式可以用于组合一系列算法,也可用于组合一系列业务规则
三、代理模式
1.定义
为一个对象提供一个代用品或占位符,以便控制对它的访问
2.核心
当客户不方便直接访问一个对象或者不满足需要的时候,提供一个替身对象来控制对这个对象的访问,客户实际上访问的是替身对象。
替身对象对请求做出一些处理之后,再把请求转交给本体对象
代理和本体的接口具有一致性,本体定义了关键功能,而代理是提供或拒绝对它的访问,或者在访问本体之前做一些额外的事情
3.实现
代理模式主要有三种:保护代理、虚拟代理、缓存代理
【免责声明】:本内容转载于网络,转载目的在于传递信息。文章内容为作者个人意见,本平台对文中陈述、观点保持中立,不对所包含内容的准确性、可靠性与完整性提供形式地保证。请读者仅作参考。