門面模式(Facade Pattern)簡介

2021-10-24 01:21:45 字數 948 閱讀 3291

門面模式(facade pattern)又叫外觀模式,提供了乙個統一的介面,用來訪問子系統中的一群介面。其主要特徵是定義了乙個高層介面,讓子系統更容易使用,屬於結構性模式。

1.子系統越來越複雜,增加門面模式提供簡單介面

2.構建多層系統結構,利用門面物件作為每層的入口,簡化層間呼叫

其實,在我們日常的編碼工作中,我們都在有意無意地大量使用門面模式,但凡只要高層模組需要排程多個子系統(2個以上類物件),我們都會自覺地建立乙個新類封裝這些子系統,提供精簡介面,讓高層模組可以更加容易間接呼叫這些子系統的功能。尤其是現階段各種第三方sdk,各種開源類庫,很大概率都會使用門面模式。尤其是你覺得呼叫越方便的,門面模式使用的一般更多。

public

class

subsystema

}

public

class

subsystemb

}

public

class

subsystemc

}

public

class

facade

}

spring jdbc模組下的jdbcutils類,它封裝了和jdbc相關的所有操作;tomcat中的requestfacade、responsefacade 和standardsessionfacade類也用到了門面模式,從它們的名字就很容易明白。

優點:1.簡化了呼叫過程,無需深入了解子系統,以防給子系統帶來風險。

2.減少系統依賴、鬆散耦合

3.更好地劃分訪問層次,提高了安全性

4.遵循迪公尺特法則,即最少知道原則。

缺點:1.當增加子系統和擴充套件子系統行為時,可能容易帶來未知風險

2.不符合開閉原則

3.某些情況下可能違背單一職責原則

設計模式 門面模式

一 門面模式概述 門面模式是物件的結構模式,外部與乙個子系統的通訊必須通過乙個統一的門面物件進行。門面模式提供乙個高層次的介面,使得子系統更易於使用。1 門面角色 facade 這是門面模式的核心。它被客戶角色呼叫,因此它熟悉子系統的功能。它內部根據客戶角色已有的需求預定了幾種功能組合。2 子系統角...

設計模式 門面模式

門面模式 外觀模式 將子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。1 它對客戶遮蔽子系統元件,因而減少了客戶處理的物件的數目並使得子系統使用起來更加方便。2 它實現了子系統與客戶之間的松耦合關係,而子系統內部的功能元件往往是緊耦合的。3 如果...

《設計模式》 門面模式

提供乙個門面去呼叫系統各個子模組,客戶端呼叫門面,減少客戶端與系統中各個子模組的互動,鬆散耦合,facade知道各個子模組,而各個子模組不應該知道facade的存在 客戶端也可以直接呼叫各個子模組,有外觀也可以不使用 當需要呼叫系統內部多個子模組的時候,為了避免客戶端分別呼叫子模組,提供乙個門面,讓...