加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

掌握前端5大常用设计模式,瞬间高大上

发布时间:2019-04-03 05:27:14 所属栏目:建站 来源:IT实战联盟
导读:副标题#e# 今天主要介绍一下我们平常会经常用到的设计模式,设计模式总的来说有23种,而设计模式在前端中又该怎么运用呢,接下来主要对比较前端中常见的设计模式做一个介绍。 设计模式的定义 设计模式是在面向对象软件设计过程中针对特定问题的简洁而优雅的

代理模式最基本的形式是对访问进行控制,代理对象和另一个对象(本体)实现的是同样的接口,实际上工作还是本体在做,它才是负责执行所分派的任务的那个对象或类,代理对象所做的不外乎节制对本体的访问,代理对象并不会在另一对象的基础上添加方法或修改其方法,也不会简化那个对象的接口,它实现的接口与本体完全相同,所有对它进行的方法调用都会被传递给本体。

  1. (function(){ 
  2.  // 示例代码 
  3.   
  4.  // 目标对象,是真正被代理的对象 
  5.  function Subject(){} 
  6.  Subject.prototype.request = function(){}; 
  7.   
  8.  /** 
  9.  * 代理对象 
  10.  * @param {Object} realSubject [持有被代理的具体的目标对象] 
  11.  */ 
  12.  function Proxy(realSubject){ 
  13.  this.realSubject = readSubject; 
  14.  } 
  15.  Proxy.prototype.request = function(){ 
  16.  this.realSubject.request(); 
  17.  }; 
  18. }()); 

总结:在上面的代码中,Proxy可以控制对真正被代理对象的一个访问,在代理模式中,比较常见的就是虚拟代理,虚拟代理用于控制对那种创建开销很大的本体的访问,它会把本体的实例化推迟到有方法被调用的时候,比如说,现在我们假设PublicLibrary的实例化很慢,不能在网页加载的时候立即完成,我们可以为其创建一个虚拟代理,让它把PublicLibrary的实例化推迟到必要的时候,比如说我们在前端中经常用到的图片懒加载,就可以用虚拟代理;

四、观察者模式

如果大家学过一些像vue,react这些框架,相信大家对观察者模式一定很熟悉,现在很多mvvm框架都用到了观察者模式这个思想,观察者模式又叫做发布—订阅模式,它定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都将得到通知和更新,观察者模式提供了一个订阅模型,其中对象订阅事件并在发生时得到通知,这种模式是事件驱动的编程基石,它有利益于良好的面向对象的设计

定义:对象间的一种一对多的依赖关系。

需求:当一个对象的状态发生变化时,所有依赖于他的对象都将得到通知。

优点:时间上的解耦,对象之间的解耦。

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读