看vue3源码可以学到什么: 五、代理模式

预告 前面的篇章中提到了项目模板生成器,为了避免过于空洞嘴炮。正在开发一个可以落地的Demo希望可以帮到一些有需要的同学,完成后会尽快分享给大家

前言

vue3 采用了ES2015的Proxy来代替Object.defineProperty可以做到监听对象属性的增删和数组元素和长度的修改,优化了2.0对应数组监监听不到对象属性的增删、数组元素和长度的变化的这一影响使用体验的地方,还可以监听Map、Set、WeakSet、WeakMap。而且做到了按需监听,监听动作均在使用时产生。

代理模式在vue3响应式机制中起到了核心作用,本篇为大家普及一下代理模式的相关概念。

内容

  • 代理模式 是程序设计中的一种设计模式,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。

  • 通俗解释 通俗的来讲代理模式就是我们生活中常见的中介。帮你处理掉一些琐碎杂事,核心还是由你去完成。比如看比赛、外出旅游现在一般优化会选择一个平台帮忙处理买票,定酒店等等很多与比赛、旅游本身无关的事情。最后看比赛,旅游的动作由你完成。此时那个平台就是代理对象,你就是目标对象。类似这样的场景就是典型的代理模式。

  • 代理模式优点

  1. 职责清晰 真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。

  2. 保护目标对象 代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。

  3. 高扩展性

发散问题

目前维护、开发的项目中有哪些地方用到了代理模式,都起到了哪些作用。现有项目里面,有没有可以使用代理模式重构的地方

以上问题,平时在工作中有了解或者有最佳实践的同学也可以不吝分享一起提高

如有任何问题或者建议可以随时沟通交流反馈,谢谢

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Swift1> Swift和OC的区别1.1> Swift没有地址/指针的概念1.2> 泛型1.3> 类型严谨 对...
    cosWriter阅读 11,161评论 1 32
  • ORA-00001: 违反唯一约束条件 (.) 错误说明:当在唯一索引所对应的列上键入重复值时,会触发此异常。 O...
    我想起个好名字阅读 5,484评论 0 9
  • 工厂模式 单体模式 模块模式 代理模式 职责链模式 命令模式 模板方法模式 策略模式 发布-订阅模式 中介者模式 ...
    HelloJames阅读 1,028评论 0 6
  • 设计模式 单例 单例模式的核心思想是让指定的类只存在唯一一个实例。这意味着当你第二次使用相同的类去创建对象的时候,...
    代码上的蚂蚁阅读 515评论 0 0
  • 自学水彩绘画,人生简直跟开挂似的。 水彩人物,古风女子
    贵人多忘事阅读 379评论 0 2