外觀設計模式(門面模式)

一、門面模式舉例,醫院設置一個接待員的位置:blog

  • 病人只接觸接待員,由接待員與各個部門打交道

二、門面模式的結構擴展

  • 門面角色會將全部從客戶端發來的請求委派到相應的子系統去

  • 使用門面模式還有一個附帶的好處,就是可以有選擇性地暴露方法
  • 一個模塊中定義的方法能夠分紅兩部分,一部分是給子系統外部使用的,一部分是子系統內部模塊之間相互調用時使用的
  • 有了Facade類,那麼用於子系統內部模塊之間相互調用的方法就不用暴露給子系統外部了

三、門面模式的優勢請求

  • 鬆散耦合:鬆散了客戶端與子系統的耦合關係,讓子系統內部的模塊能更容易擴展和維護
  • 簡單易用:客戶端再也不須要了解子系統內部的實現,只須要跟門面類交互就能夠了
  • 更好的劃分訪問層次:有些方法是對系統外的,有些方法是系統內部使用的
    • 把須要暴露給外部的功能集中到門面中,這樣既方便客戶端使用,也很好地隱藏了內部的細節
相關文章
相關標籤/搜索