設計模式之 外觀模式

2022-07-09 16:27:14 字數 1642 閱讀 1361

外觀模式(facade pattern):外部與乙個子系統的通訊必須通過乙個統一的外觀物件進行,為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。外觀模式又稱為門面模式,它是一種物件結構型模式。

facade類:

namespace

facadepattern.basicstructure

public

void

methoda()

public

void

methodb()}}

subsystemone類:

namespace

facadepattern.basicstructure}}

subsystemtwo類:

namespace

facadepattern.basicstructure}}

subsystemthree類:

namespace

facadepattern.basicstructure}}

subsystemfour類:

namespace

facadepattern.basicstructure}}

客戶端呼叫**:

static

void main(string

args)

}

catch

(exception ex)

console.readkey();

}

結果如下:

場景模擬:本人每天都要給膝上型電腦開機關機,接下來就用外觀模式來模擬下。

notebookpowersupply(筆記本電源)類——facade類

namespace

facadepattern.situationsimulation

public

void

open()

public

void

close()}}

openpowersupply(開啟電源)類——subsystem類

namespace

facadepattern.situationsimulation}}

closepowersupply(關閉電源)類——subsystem類

namespace

facadepattern.situationsimulation}}

客戶端呼叫**:

static

void main(string

args)

}catch

(exception ex)

console.readkey();

}

結果如下:

外觀模式的優點

外觀模式的缺點

在以下情況下可以使用外觀模式:

設計模式之外觀模式

外觀模式提供了乙個統一的介面,用來訪問子系統中的一群介面。這樣可以避免客戶端和子系統之間的緊耦合。這種模式需要將一系列的子系統組合到外觀中,然後將具體的工作交給各個子系統去完成。如此一來,可以簡化介面的呼叫。其本質就是將系統與客戶端互動的地方封裝起來。這個模式,總體來說,很簡單,理解起來也不困難。依...

設計模式之外觀模式

外觀模式 為子系統中的一組介面提供乙個一直的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。即通過乙個中類來完成客戶端的請求。拿機房收費系統的上機過程來說,上機需要顯示上機者的資訊,填寫上機狀態表,填寫上機記錄表。而使用者不需要知道這些功能是怎麼實現的,只需要通過介面操作就可以完...

設計模式之外觀模式

外觀模式,為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。在設計初期階段,應該要有意識的將不同的兩個層分離,比如經典的三層架構,層與層之間建立外觀facade。在開發階段,子系統往往因不斷的重構演化而變得越來越複雜,增加外觀模式可以提供乙個簡單的...