做了這么久的軟件,從來就沒有好好的學習過設計模式。寫代碼,做設計的時候都是稀里糊涂。做出來的設計,都會不同程度的讓自己感覺到不安。這可能就是《設計模式精解》書中所說那種直覺吧。
引用:
留意你的知覺
出自本能的直覺能對設計質量做出令人驚訝的預測。所謂“出自本能的直覺”,是指當你看到某些不喜歡的東西時,你胃部的感覺。我知道這聽起來并不科學(而且它的確不科學),但我的經驗總是向我證明:當我從直覺上不喜歡一個設計時,一個更好的設計一定就躺在角落里。
Facade模式:關鍵特征
意圖:希望簡化現有系統的使用方法。你需要定義自己的接口。
問題:只需要使用一個復雜系統的一個子集?;蛘?,需要用一種特殊的方式與系統交互。
解決方案:Facade向客戶展現使用現有系統的一個新的接口。
參與者與協作者:向客戶展現一個定制的接口,讓客戶更容易地使用現有系統。
效果:Facade模式簡化了對所需子系統的使用。但是,由于Facade并不完整,因此某些功能對于客戶可能是可用的。
現實:1)定義一個(或一組)新的類來提供所需要的接口。
2)讓新的類使用現有的系統。
Facade模式使用于以下情況:
- 不需要使用一個復雜系統的所有功能,并且可以創建一個新的類來包容訪問原有系統的接口的一個子集(通常它就是)比原始系統AP簡單得多。
- 希望包裝或隱藏原有系統。
- 希望使用原有系統的功能,并且希望增加一些新的功能。
- “編寫一個新的類”的代價小于“讓所有人學會使用原有系統”或“在未來維護整個系統”所需的代價
posted on 2005-03-13 23:41
非飛 閱讀(2640)
評論(0) 編輯 收藏 所屬分類:
軟件工程