看vue3源码能够学到什么: 5、代理模式

预告 前面的篇章中提到了项目模板生成器,为了不过于空洞嘴炮。正在开发一个能够落地的Demo但愿能够帮到一些有须要的同窗,完成后会尽快分享给你们vue

前言

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

代理模式在vue3响应式机制中起到了核心做用,本篇为你们普及一下代理模式的相关概念。设计模式

内容

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

  • 通俗解释 通俗的来说代理模式就是咱们生活中常见的中介。帮你处理掉一些琐碎琐事,核心仍是由你去完成。好比看比赛、外出旅游如今通常优化会选择一个平台帮忙处理买票,定酒店等等不少与比赛、旅游自己无关的事情。最后看比赛,旅游的动做由你完成。此时那个平台就是代理对象,你就是目标对象。相似这样的场景就是典型的代理模式。优化

  • 代理模式优势设计

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

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

  3. 高扩展性对象

发散问题

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

以上问题,平时在工做中有了解或者有最佳实践的同窗也能够不吝分享一块儿提升

若有任何问题或者建议能够随时沟通交流反馈,谢谢

相关文章
相关标签/搜索