外觀模式
外觀模式就是為子系統的一系列相關的介面提供乙個整合過的介面,從而減少客戶類對這些介面的呼叫成本。
最近實驗室的老總鬱悶的很了,因為女秘書因為太過勞累住院了。以前秘書可以做的事情,老總得要自己做了。
這也是為什麼我們實驗室最近無聊的會開的少的原因:
classmeetingroom
public
void
prepare()
public
void
start()
}class
message
}class
printer
}class
devices
public
void
projector ()
}public
class
facade
}
因為秘書不在,老總必須得要做這麼多的步驟才能把會開起來,這是任何乙個老總都不會幹的事情,老總不會把精力放在這麼多不同的物件上,所以老總需要女秘書來撐門面:
classnvmishu
public
static
nvmishu getinstance() }}
return
mishu;
}public
void
meeting()
}public
class
facade
}
有了女秘書之後,老總們不需要和那麼多不同的物件打交道了,他只需要把精力放在女秘書這個物件上(為什麼聽著這麼不正經呵,我得再次宣告我是乙個正直正經的程式猿技術宅),老總這個客戶類只需要研究女秘書的介面,而不需要了解其他物件的運作方式了。
裝飾者模式,介面卡模式,外觀模式的區別
以上三種模式經常會有混淆的時候,通常來說:
裝飾者模式是在不改變原有物件的介面的情況下擴充套件出新的介面來方便客戶端使用,比如: inputstream 和 datainputstream 之間就是裝飾者模式, datainputstream 既有inputstream的read介面,又擴充套件了一些讀字元的方法如readboolean等
inputstream is = null;datainputstream dis = new
datainputstream(is);
dis.readboolean();
介面卡模式是改變原有物件的介面,使之變得適應新的需求即新客戶類的呼叫,比如inputstream和reader之間就是介面卡模式
外觀模式是簡化介面的呼叫,使多個相關的介面有乙個統一的介面呼叫。
設計模式之十(外觀模式)
原文 設計模式之十 外觀模式 前言外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一系統更加容易使用.結構圖 subsystem class 子系統類集合 實現子系統的功能,處理facade物件指派的任務,注意子類中沒有facade的任何資訊,即沒有對fac...
設計模式之十(外觀模式)
前言 外觀模式 為子系統中的一組介面提供乙個一致的介面,此模式定義了乙個高層介面,這個介面使得這一系統更加容易使用.結構圖 subsystem class 子系統類集合 實現子系統的功能,處理facade物件指派的任務,注意子類中沒有facade的任何資訊,即沒有對facade物件的引用 實現 首先...
設計模式(十)之Facade 外觀模式
本文介紹設計模式中的外觀 facade 模式的概念,用法,以及實際應用中怎麼樣使用facade模式進行開發。facade模式的概念 facade模式為一組具有類似功能的類群,比如類庫,子系統等等,提供乙個一致的簡單的介面。這個一致的簡單的介面被稱作facade。在 應用系統中,為了實現某具有複雜功能...