設計模式(二) 外觀模式 Facade

2021-08-27 13:10:04 字數 1646 閱讀 8050

設計模式(二)

外觀模式(facade)

為了解決子系統外部的客戶端在使用子系統的時候,既能簡單地使用這些子系統內部的模組功能,而又不用客戶端去與子系統內部的多個模組互動的問題。

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

外觀模式就是通過引入乙個外觀類,在這個類裡面定義客戶端想要的簡單的方法,然後在這些方法的實現裡面,由外觀類再去分別呼叫內部的多個模組來實現功能,從而讓客戶端變得簡單。這樣一來,客戶端就只需要和外觀類互動就可以了。

packagefacade;

public

classconfigmodel

public

booleanisneedgenbusiness()

public

booleanisneedgendao()

public

voidsetneedgenpresentation(booleanneedgenpresentation)

public

voidsetneedgenbusiness(booleanneedgenbusiness)

public

voidsetneedgendao(booleanneedgendao)

packagefacade;

public

classconfigmanager

public

staticconfigmanager getinstance()

returnmanager;}

publicconfigmodel getconfigdate()

}packagefacade;

public

classpresentation }}

packagefacade;

public

classbusiness }}

packagefacade;

public

classdao }}

packagefacade;

public

classfacade

}packagefacade;

public

classclient

}output:

generate presentation layer

generate business layer

generate dao layer

設計模式(二) Facade模式(外觀模式)

為子系統中的一組介面提供乙個統一的介面。facade模式定義了乙個更高層的介面,使系統更容易使用。facade模式 關鍵特徵 意圖希望簡化 原系統的使用方式 需要定義自己的介面 問題只要使用某個系統的子集,或者,需要以一種特殊的方式與原系統互動 解決方案 facade模式為原有系統的客戶提供了乙個新...

設計模式 外觀模式(Facade)

外觀模式是為了解決類與類之家的依賴關係的,像spring一樣,可以將類和類之間的關係配置到配置檔案中,而外觀模式就是將他們的關係放在乙個facade類中,降低了類類之間的耦合度,該模式中沒有涉及到介面。我們以乙個計算機的啟動過程為例 cpu類 public class cpu public void...

設計模式 外觀 Facade 模式

insus.net在去年有寫過一篇 軟體研發公司,外觀設計模式 facade 例中寫得過於簡單與抽象。沒有實質內容似的。這次想再寫乙個。希望能再次加強。為子系統中的一組介面提供乙個統一的高層介面,使客戶使用子系統更容易這是外觀 facade 模式的精髓。在實現之前,可以先看看這篇 web控制項文字框...