設計模式學習筆記之四 外觀模式

2021-09-01 17:56:21 字數 1184 閱讀 1840

外觀模式(facade):為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。

以上的定義摘自《大話設計模式》。按我自己的理解,外觀模式:將乙個或多個類中的多個方法打包到乙個方法中供外界呼叫。打個比方,現有a類的a方法、b類的b方法、c類的c方法,我們的業務**想呼叫三個方法,

public class business

}

使用外觀模式後,我們不讓業務**直接呼叫這三個方法,而是通過乙個包裝後的方法來呼叫

public class facade

}public class business

}

很多朋友即使沒特意學習過外觀模式,但在實際工作中肯定有運用到它,比如在持久層和業務層之間,我們通常就會建立外觀,將一系列持久層操作使用外觀包裝起來供業務層呼叫。

我們再做個例子,我們的公司有員工要入職,入職需要往資料庫裡記錄員工基本資訊、給員工分配的電腦資訊、該員工的福利資訊,使用外觀模式**如下:

public class employeedao

//刪除員工資訊

public void deleteemployee(string name)

}public class empcomputerdao

// 刪除員工分配電腦資訊

public void deletecomputer(string ename)

}public class welfaredao

// 刪除員工福利資訊

public void deletewelfare(string ename)

}public class company

// 員工辭職

public void resign(string ename)

}public class mainclass

}

外觀模式的好處:

封裝了細節,更加易用和可維護。

比如張三入職,我們在業務**上只需要呼叫入職方法,而不需要去管入職具體做了哪些操作,以後維護這段**時候我們非常明確這裡是張三入職了!而不用去猜「儲存員工資訊」、「儲存員工分配電腦資訊」等等這些操作連在一起到底是要幹嘛呢。。。

23種設計模式 四 外觀模式

通過父系統呼叫子系統,也就是父系統是入口,呼叫不同的子系統,遵守迪公尺特法則,最少知道原則 優點 簡化呼叫過程,無需了解子系統,防止帶來風險 減少系統依賴,減少系統耦合性 生活中的例子 例如我在cf官網,我用積分兌換,裝備,我只需要知道我能兌換裝備,我不需要他具體執行的什麼,具體能不能到我的賬號,內...

設計模式筆記之十 外觀模式

外觀模式 外觀模式就是為子系統的一系列相關的介面提供乙個整合過的介面,從而減少客戶類對這些介面的呼叫成本。最近實驗室的老總鬱悶的很了,因為女秘書因為太過勞累住院了。以前秘書可以做的事情,老總得要自己做了。這也是為什麼我們實驗室最近無聊的會開的少的原因 class meetingroom public...

設計模式之筆記 外觀模式(Facade)

外觀模式 facade 定義 外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。類圖 描述 facade 外觀類,外觀類知道哪些子系統類負責處理請求,將使用者的請求 給恰當的子系統物件。classes 子系統類,實現了子系統...