此模式意在防止返回空引用,用空物件代替空引用。也就是代替
null
,這樣在客戶端處理的時候就不用關心返回的是不是空引用了,少了判斷或
try…
catch
語句的開銷。
這就需要乙個匿名的表示空值的例項,只是此例項無論執行什麼方法都是無效的,我感覺在
.net
中這種模式實現起來比較複雜,還不如返回
null
在程式裡判斷,就像:
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />if(
e != null && e.method1()
)<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />
<?xml:namespace prefix = w ns = "urn:schemas-microsoft-com:office:word" />
但這樣要是忘了判斷可怎麼辦呢??
暫時還沒想到辦法。
設計模式之工廠設計模式筆記
定義 在基類中定義建立物件的乙個介面,讓子類決定例項化哪個類。工廠方法讓乙個類的的例項化延遲到子類中進行。為什麼要用工廠模式?適用場景 需要建立的物件較少。客戶端不關心物件的建立過程。簡單工廠例項public abstract class animal class catextends animal...
設計模式之裝飾模式(筆記)
裝飾模式 動態地給乙個物件新增一些額外的職責,就增加功能來說,裝飾模式比生成子類更加靈活。裝飾模式結構圖如下 裝飾模式適用場合 當需要給系統新增新的功能時,而這些新增的功能僅僅是為了滿足一些只在某種特定情況下才會執行的特殊行為的需要,它把每個裝飾的功能放在單獨的類中,並讓這個類包裝它所要裝飾的物件,...
設計模式筆記之 策略模式
策略模式屬於 行為型模式,屬於比較簡單的乙個模式了,顧名思義,是把策略封裝起來的模式,然後使用的時候傳入策略物件,就會執行相應的方法了。例子就是,假如我是動物飼養員,然後每一種動物都有乙個策略去餵養,於是我們把餵養的策略封裝成n個餵養說明的小本子,當去喂乙個動物的時候就拿對應的說明去餵養。首先定義乙...