观察者模式
一、为什么要用观察者模式?
(一)由来
1、举例:
就比如QQ上我经常要发同样的消息给100个需要通知的人,显然对于我来说,需要发100条消息,这样一条条的发消息是非常麻烦的。而如果我建立一个QQ群,同时这个群中的消息对于这100个好友来说,是都能收到的,这样的话,对我来说,我发一条消息就可以让所有需要通知的人收到。
2、总结:
就是当改变时,每个观察者我都通知他们改变,显然这样做是非常麻烦的。但是如果我做一次操作,所有的观察者都变,这样的操作是很简单。
二、观察者模式的核心
建立QQ群这个集合,实际这就是观察者模式的核心。
即类A中放入以类B为泛型的集合
三、Android API
Android中的Adapter源码中就存在观察者模式
(一)BaseAdapter
(二)DataSetObservable 类
(三) Observable<T>抽象类