觀察者模式
一、爲什麼要用觀察者模式?
(一)由來
1、舉例:
就比如QQ上我經常要發同樣的消息給100個需要通知的人,顯然對於我來說,需要發100條消息,這樣一條條的發消息是非常麻煩的。而如果我建立一個QQ羣,同時這個羣中的消息對於這100個好友來說,是都能收到的,這樣的話,對我來說,我發一條消息就可以讓所有需要通知的人收到。
2、總結:
就是當改變時,每個觀察者我都通知他們改變,顯然這樣做是非常麻煩的。但是如果我做一次操作,所有的觀察者都變,這樣的操作是很簡單。
二、觀察者模式的核心
建立QQ羣這個集合,實際這就是觀察者模式的核心。
即類A中放入以類B爲泛型的集合
三、Android API
Android中的Adapter源碼中就存在觀察者模式
(一)BaseAdapter
(二)DataSetObservable 類
(三) Observable<T>抽象類