facade模式也叫外觀模式,是由gof提出的23種設計模式中的一種。facade模式為一組具有類似功能的類群,比如類庫,子系統等等,提供乙個一致的簡單的介面。這個一致的簡單的介面被稱作facade。
外觀模式又叫門面模式,提供了乙個統一的介面,用來訪問子系統中的一群介面
子系統越來越複雜,增加外觀模式是供簡單呼叫介面
構建多層系統結構,利用外觀物件作為每層的入口,簡化層間呼叫
優點:
缺點:
簡單來說,該模式就是把一些複雜的流程封裝成乙個介面供給外部使用者更簡單的使用。這個模式中,設計到3個角色。
示例:電腦開機進入系統,我們把他分為4步,首先開啟電源,bois自檢,系統引導,進入系統,4個功能是四個功能模組
1、開啟電源
public2、bois自檢class
startpower
}
public3、系統引導class
boisselftest
}
public4、進入系統class
systemguide
}
public原來測試方式class
entersystem
}
@test輸出public
void
testorigin()
電腦通電外觀模式演變bios自檢
系統引導
進入系統
增加外觀模式控制類
public測試class
facade
}
@test二、擴充套件public
void
testfacadeclient()
2.1、jdk1.7原始碼中的外觀模式
2.2、spring中
org.springframework.jdbc.support.jdbcutils
2.3、mybatis中
org.apache.ibatis.session.configuration
2.4、apache中
org.apache.catalina.connector.requestfacade與org.apache.catalina.connector.request
d
結構型 外觀模式
定義 外觀模式 facade 為子系統中的一組介面提供乙個一致的介面,定義乙個高層介面,這個介面使得這一子系統更加容易使用。umlfacade 這個外觀類為子系統提供乙個共同的對外介面 clients 客戶物件通過乙個外觀介面讀寫子系統中各界面的資料資源。例項1.比如乙個家庭影院,我們需要看電影,肯...
結構型 外觀模式
為子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高層介面,這個介面使得這一子系統更加容易使用。其實就是子系統中的類共同使用時太麻煩,客戶不能每次為了完成某個功能,就寫一遍呼叫 所以把 抽象出來,封裝到乙個外觀類的方法中 優點 減少客戶與子系統之間的耦合度。客戶在利用子系統實現某功能時,無需...
結構型模式 外觀
結構圖 模式說明 擴充套件點在subsystem集合。增加乙個具體的子系統後,可能但不一定需要修改fa ade外觀類。客戶端需要知道具體哪乙個fa ade外觀類。客戶端不需要關係到底哪個subsystem類負責fa ade外觀類的何種任務。外子系統中的一組介面提供乙個一致的介面,外觀模式定義了乙個高...