最近開始看一些有關於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