設計模式 門面模式

2021-07-02 07:01:35 字數 981 閱讀 9220

一、門面模式概述

門面模式是物件的結構模式,外部與乙個子系統的通訊必須通過乙個統一的門面物件進行。門面模式提供乙個高層次的介面,使得子系統更易於使用。

1) 門面角色( facade ):這是門面模式的核心。它被客戶角色呼叫,因此它熟悉子系統的功能。它內部根據客戶角色已有的需求預定了幾種功能組合。

2) 子系統角色:實現了子系統的功能。對它而言, façade 角色就和客戶角色一樣是未知的,它沒有任何 façade 角色的資訊和鏈結。

3) 客戶角色:呼叫 facade 角色來完成要得到的功能。

門面模式是一種結構型模式

二、門面模式**示例

以寫信這個過程為例

先定義乙個類規定寫信的過程

public

inte***ce letterprocess

再寫乙個實現改介面的類

public

class

letterprocessimpl

implements

letterprocess

@override

public

void

writeaddress(string address)

@override

public

void

send()

}

再定義乙個門面,由客戶端來呼叫

public

class facade

}

最後定義乙個客戶端,只與門面類互動

public

class client

}

執行結果:

write context:this is context

write address:this is address

send letter!

設計模式 門面模式

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

《設計模式》 門面模式

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

設計模式 門面模式

門面模式,要求乙個子系統的外部與其內部的通訊必須通過乙個統一的物件進行。門面模式提供乙個高層次的介面,使得子系統更易於使用。系統中各個模組,統一在門面中對外提供訪問。示例 模組a public class classa 模組b public class classb 模組c public class...