记录下js中比较常用的设计模式
单例模式
单例模式的定义是:保证一个类仅有一个实例,并提供一个访问它的全局访问点。
|
|
发布订阅模式
发布—订阅模式又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状
态发生改变时,所有依赖于它的对象都将得到通知。
|
|
代理模式
代理模式是为一个对象提供一个代用品或占位符,以便控制对它的访问。
这个模式比较常用,比如事件订阅中的事件委托。
每个子列表都监听点击事件会非常消耗性能,一般的做法是把点击事件的监听放在外层的父元素上面.
|
|
装饰者模式
装饰者提供比继承更有弹性的替代方案。 装饰者用于包装同接口的对象,不仅允许你向方法添加行为,而且还可以将方法设置成原始对象调用(例如装饰者的构造函数)。
装饰者用于通过重载方法的形式添加新功能,该模式可以在被装饰者前面或者后面加上自己的行为以达到特定的目的。
如下面的例子, 在不改变原对象的基础上,不断增加新的功能:
|
|
另外还有其他各种模式,例如:策略模式、组合模式、迭代器模板、适配器模式等等,更多内容可以查看设计模式相关的书籍。
这篇文章大部分模式定义参考的是《javascript设计模式与开发实践》这本书,通俗易懂的一本书,适合初学者。