设计模式
Posted freeman_Tian
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了设计模式相关的知识,希望对你有一定的参考价值。
1.熟练使用前端常用的设计模式编写代码,如单例模式、装饰器模式、代理模式等
一、常用设计模式
1、单例模式:确保只有一个实例,并提供全局访问。
2、策略模式:定义一些列的算法,把它们一个个封装起来,并且使它们可以相互替换。
3、代理模式:为一个对象提供一个代用品或占位符,以便控制对它的访问。js里虚拟代理(网络请求方面)、缓存代理(数据方面)最常用
4、迭代器模式:提供一种方法,顺序访问一个聚合对象中的各个元素,而又不需要暴露该对象的内部表示。不需要关心对象的内部构造,也可以按顺序访问其中的每个元素。很多语言都有自己内置的迭代器,比如js的Array.prototype.forEach
5、发布-订阅模式:又叫观察者模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态生改变时,所有依赖于它的对象都将得到通知。在js中,一般用事件模型代替它
2.发布订阅模式和观察者模式的异同以及实际应用
观察者模式对我们来说应该不陌生,对vue原理稍微有点了解的都知道通过Object.defineProperty 拦截数据的 get/set ,在set中收集依赖Watcher,在get中触发更新Watcher.notify(),这里就是观察者模式的应用
3.可以说出几种设计模式在开发中的实际应用,理解框架源码中对设计模式的应用
以上是关于设计模式的主要内容,如果未能解决你的问题,请参考以下文章