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

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

前言

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

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

内容

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

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

  • 代理模式优点

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

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

  3. 高扩展性

发散问题

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

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

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

你可能感兴趣的:(看vue3源码可以学到什么: 五、代理模式)