享元(flyweight)模式是用来减少内存消耗的,从一堆相似对象中提取出可共享的属性,以减少相似对象的数量。本文详细介绍JavaScript实现的享元模式
分类目录归档:JS
装饰者模式_JavaScript设计模式11
装饰者模式的核心是“包裹”,提供多个可选的装饰类型,给初始类型对象包裹需要的装饰类型即可扩展初始类型的功能,避免出现类型大爆炸。本文详细介绍JS实现的装饰者(Decorator)模式
微信API
微信JSSDK分析、微信JS API、微信开放API
Web Audio API解析
aduio标签不够强大,因此提供了Web Audio API来增强音频控制,支持音频数据分析、数据可视化、过滤特定频率、混响、音频空间化、处理声道、扭曲、合成音效等等强大功能
Mixin模式_JavaScript设计模式10
Mixin模式可以实现多重继承,可以把Mixin对象当做一个个零件仓库,可以直接把零件仓库里的零件给现有对象装上,能够方便地复用代码、增强现有对象。本文详细介绍JavaScript实现的Mixin模式
工厂模式_JavaScript设计模式9
工厂模式,顾名思义,是用来创建对象的,负责封装复杂的对象创建过程,提供简单的功能入口。本文详细介绍JavaScript实现的工厂模式
外观模式_JavaScript设计模式8
外观模式,与前面介绍过的命令模式很相像,本文详细介绍JavaScript实现的外观模式
命令模式_JavaScript设计模式7
经典命令模式的实现需要请求者、命令、执行者,看起来很庞大,主要是因为强制类型检查带来的不便(必须依靠抽象类型来保证接口的统一),而JS是弱类型的,很容易实现命令模式,本文详细介绍JavaScript实现的命令模式
原型模式_JavaScript设计模式6
原型模式,也就是道格拉斯的生孩子(beget)方法,以现有对象为原型,创建新对象,类似于继承,但更像复制。本文详细介绍JavaScript实现的原型模式
handleEvent与addEventListener
书里没有写,但大家都这么用
中介者模式_JavaScript设计模式5
中介者模式与发布/订阅模式非常像,算是对发布/订阅模式的进一步增强(层级结构),同时也增加了一些限制(必须通过中介交互),本文详细介绍JavaScript实现的中介者模式
观察者模式_JavaScript设计模式4
最经典的观察者模式应用就是事件机制了,本文详细介绍用JS如何实现观察者模式和与之类似的发布订阅模式
单例模式_JavaScript设计模式3
Singleton(单例)模式在JS中实现起来非常简单,如果不考虑依赖注入,用对象字面量方式创建的对象就是单例,本文详细介绍JS中的单例模式
模块模式_JavaScript设计模式2
所谓Module(模块)模式,其实是一种针对JS的封装思想,很多语言提供了访问控制机制(public, private等等),但JS没有,所以才有了模块模式
构造器模式_JavaScript设计模式1
构造器模式是《JavaScript设计模式》一书中介绍的第一个模式,内容很单薄,对书有些失望。不过没关系,我们可以参考别的东西丰富这块内容