原创 我的友情鏈接

51CTO博客開發

原创 設計模式2:觀察者(Observer)模式

背景問題:假設我們現在接到一個來自氣象臺的軟件開發合約,對方希望我們開發一個天氣預報類的軟件。假設需要建立三種佈告板,分別顯示目前的狀況,氣象統計及簡單的預報。當氣象臺提供的WeatherObject對象獲得最新的測量數據時,三種佈告板必須

原创 設計模式1【續】:動態設定行爲

這篇博文是對前一篇博文《設計模式1:找出應用中可能需要變化之處,把它們獨立出來》的一個延伸思考:在鴨子裏建立了一堆動態的功能沒有用到,太可惜了!假設我們想在鴨子子類中通過“設定方法(setter method)”來設定鴨子的行爲,而不是在鴨

原创 我的友情鏈接

51CTO博客開發

原创 設計模式1:找出應用中可能需要變化之處,把它們獨立出來。

前景問題: 有時,想着只需要在基類中加上自己所需要的方法,所有子類就會繼承該方法。但是對代碼所做的局部修改,影響層面可能不是局部。你會體會到一件事:當涉及“維護”時,爲了“複用”(reuse)目的而使用繼承,結局並不完美。 這時,你會考慮