23 | 结构型:通过jQuery看结构型模式
石川
你好,我是石川。
今天,我带你顺着上一节的内容,再来看看在 GoF(四人组)的《设计模式:可复用面向对象软件的基础》这本书中介绍的另外几种经典的结构型设计模式。我们可以通过 jQuery 来看看结构型的设计,说到这里,你可能会说 jQuery 可以算是被吐槽比较多的一个框架了,它有什么参考价值呢?但是我认为用户是用脚投票的,虽然很多人在骂着 jQuery,但是同时也在用着。这也证明了它从开发上提供给人们的便捷,作为优点要大于它的缺点。其实,它的很多让人们“恨不释手”的设计背后都能看到结构型的设计模式。今天,我们就一起来看看吧。
几种经典的结构型模式
我们先来看看几种经典的结构型模式。分别是享元、门面和组合模式。
享元模式(flyweight)
享元模式(flyweight)的核心思想是通过减少对象的创建数量来节约内存。
享元模式最早是保罗·考尔德和马克·林顿在 1990 年提出的。喜欢看拳击的朋友可能知道享元的英文单词 flyweight,其实是拳击里面的一个重量等级,叫做“特轻量”,也就是重量低于 112 磅的拳手。我们来看一个 UFC 比赛画面,一个重量级(heavy weight)和特轻量级 (flyweight)的选手放在一起对比,感受就更直观了。所以顾名思义,该模式旨在帮助我们实现轻量级的内存占用。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
本文深入介绍了享元模式(flyweight)在jQuery中的应用,重点强调了通过减少对象创建数量来节约内存,并优化共享数据的代码以最大限度减少内存使用。通过租车和事件处理两个例子,分别从数据角度和事件处理角度解释了享元模式的应用。在事件处理角度的应用中,还介绍了构建accordion和Facebook的jQuery.single的概念。此外,还涉及了门面模式、组合模式以及包装器模式中的装饰器和适配器的原理和实现。通过具体的代码示例和实际场景的解释,读者能更直观地理解结构型设计模式的应用,以及jQuery在其中的作用。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《JavaScript 进阶实战课》,新⼈⾸单¥59
《JavaScript 进阶实战课》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(2)
- 最新
- 精选
- 郭慧娟Facebook ... 减少一层抽象,或避说呢,免创建新的 jQuery 对象。这里文案有问题
编辑回复: 谢谢反馈,这里已更正
2022-11-10归属地:北京 - FSS// 如果车型已知,就返回vin;未知就创建var createCar = (model, maker, isbn) => { 形参isbn是否应该为vin2023-12-12归属地:广东
收起评论