外觀模式
定義
為子系統(tǒng)中的一組接口提供一個(gè)一致的界面迫像,F(xiàn)acade模式定義了一個(gè)高層接口在旱,這個(gè)接口使得這一子系統(tǒng)更加容易使用貌矿。
外觀模式的目的
不是給子系統(tǒng)添加新的功能接口雷蹂,而是為了讓外部減少與子系統(tǒng)內(nèi)多個(gè)模塊的互交姆怪,松散耦合也物,從而讓外部能夠能簡單的使用子系統(tǒng)宫屠。
優(yōu)缺點(diǎn)
優(yōu)點(diǎn)
● 松散耦合
● 簡單易用
● 更好的劃分訪問的層次
缺點(diǎn)
過多的或者是不太合理的Facade也容易讓人迷惑。到底是調(diào)用Facade好還是直接調(diào)用模塊好滑蚯。
本質(zhì)
封裝交互浪蹂,簡化調(diào)用
何時(shí)選用外觀模式
● 如果你希望為復(fù)雜的子系統(tǒng)提供一個(gè)簡單接口的時(shí)候,可以考慮使用外觀模式告材。使用外觀對象對實(shí)現(xiàn)大部分客戶需要的功能坤次,從而簡化客戶的使用。
● 如果想要客戶程序和抽象類的實(shí)現(xiàn)部分松散耦合斥赋,可以考慮使用外觀模式缰猴,使用外觀對象來將這個(gè)子系統(tǒng)與它的客戶分離開來,從而提高子系統(tǒng)獨(dú)立性和可移植性疤剑。
● 如果構(gòu)建多層結(jié)構(gòu)的系統(tǒng)滑绒,可以考慮使用外觀模式,使用外觀對象作為每層的入口隘膘,這樣就簡化層間調(diào)用疑故,也可以松散層間之間的依賴關(guān)系。