《研磨設計模式》讀書筆記之:橋接模式

前言:本篇系看完《研磨設計模式》一書的個人理解和總結,可能存在不正確的地方,看時需要持懷疑態度。另外,所有的圖都是示意圖,示意,示。

橋接模式(Bridge):

幾點解釋:

  1. 橋接模式的本質在於 分離抽象與實現。
  2. Java中的接口的作用在於 封裝隔離,和橋接模式不謀而合。
  3. 我們在Java中面向接口編程,所以 Java中無處不橋接。

訪問者模式(Visitor):

幾點解釋:

  1. 訪問者模式通過預留 accept(Visitor visitor) 方法,來實現在不改變類代碼的情況下,給對象添加各種新功能。
  2. 調用accept方法時,發生了兩次調用:accept 是第一次,之後在方法裏調用了 傳入的訪問者對象的方法 visitXXX,並將當前對象實例作爲參數傳入,這是第二次調用。
  3. 訪問者模式的好處在於,我們可以靈活的擴展需要的訪問者對象,然後調用原有對象的accept方法並傳入相應的訪問者對象,就可以基於已有對象的數據實現新的功能。
  4. 這個模式的弊端在於 如果新增了 Element的實現,則訪問者接口需要變化,導致所有的訪問者實現都需要跟着變化。訪問者實現需要操作實際的 Element對象的數據,這破壞了封裝性,不恰當的操作可能會誤改Element對象的數據。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章