看板 java 關於我們 聯絡資訊
最近開始看一些有關於design pattern的東西,感覺都不是很直覺會想出的方法 Observer pattern 在講解的時候,幾乎大家都拿訂閱報紙當例子 https://dotblogs.com.tw/joysdw12/archive/2013/03/13/96531.aspx 例如這篇網誌 但我真的不太懂為什麼要用一個什麼oberver pattern拿來做這種事情比較好? 直觀來說,我們建立一個報社class,裡面有個array儲存所有的讀者 SubscribeNewspaper() UnsubscribeNewspaper() SendNewspaper() 都是這個報社class的member function 讀者class提供update() function SubscribeNewspaper()基本上把新的讀者加入array UnsubscribeNewspaper()把讀者踢出array SendNewspaper()依序traverse array中的讀者,並且呼叫讀者的update() 為什麼要拐個彎搞出個介面呢? 還請前輩們指教,是不是我OO觀念太薄弱造成的orz -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 24.80.2.98 ※ 文章網址: https://www.ptt.cc/bbs/java/M.1491612482.A.1C0.html
swpoker: 因為客戶有很多種,多型所以抽象 04/08 09:34
swpoker: 例如,客戶有日訂,周訂,還可以自訂,不可能if下去 04/08 09:35
swpoker: 通常這種就會習慣弄個介面隔開比較好 04/08 09:38
gmoz: 需求簡單跟複雜的區別 04/08 10:47
ripple0129: 其實你可以先看問題需求別看解法,自己先寫一套,然 04/08 14:04
ripple0129: 後對比看差異。之後試著更動或添加需求看看。 04/08 14:04
Aidan79225: open closed principle 05/04 10:26