看vue3源碼能夠學到什麼: 5、代理模式

預告 前面的篇章中提到了項目模板生成器,爲了不過於空洞嘴炮。正在開發一個能夠落地的Demo但願能夠幫到一些有須要的同窗,完成後會盡快分享給你們vue

前言

vue3 採用了ES2015的Proxy來代替Object.defineProperty能夠作到監聽對象屬性的增刪和數組元素和長度的修改,優化了2.0對應數組監監聽不到對象屬性的增刪、數組元素和長度的變化的這一影響使用體驗的地方,還能夠監聽Map、Set、WeakSet、WeakMap。並且作到了按需監聽,監聽動做均在使用時產生。編程

代理模式在vue3響應式機制中起到了核心做用,本篇爲你們普及一下代理模式的相關概念。設計模式

內容

  • 代理模式 是程序設計中的一種設計模式,爲其餘對象提供一種代理以控制對這個對象的訪問。在某些狀況下,一個對象不適合或者不能直接引用另外一個對象,而代理對象能夠在客戶端和目標對象之間起到中介的做用。數組

  • 通俗解釋 通俗的來說代理模式就是咱們生活中常見的中介。幫你處理掉一些瑣碎瑣事,核心仍是由你去完成。好比看比賽、外出旅遊如今通常優化會選擇一個平臺幫忙處理買票,定酒店等等不少與比賽、旅遊自己無關的事情。最後看比賽,旅遊的動做由你完成。此時那個平臺就是代理對象,你就是目標對象。相似這樣的場景就是典型的代理模式。優化

  • 代理模式優勢設計

  1. 職責清晰 真實的角色就是實現實際的業務邏輯,不用關心其餘非本職責的事務,經過後期的代理完成一件完成事務,附帶的結果就是編程簡潔清晰。代理

  2. 保護目標對象 代理對象能夠在客戶端和目標對象之間起到中介的做用,這樣起到了中介的做用和保護了目標對象的做用。code

  3. 高擴展性對象

發散問題

目前維護、開發的項目中有哪些地方用到了代理模式,都起到了哪些做用。現有項目裏面,有沒有可使用代理模式重構的地方事務

以上問題,平時在工做中有了解或者有最佳實踐的同窗也能夠不吝分享一塊兒提升

若有任何問題或者建議能夠隨時溝通交流反饋,謝謝

相關文章
相關標籤/搜索