目前项目中最多用的模式就是观察者模式了。。。该模式是当有数据状态变化需要及时通知的时候使用的
项目中其中之一的应用场景:
当网络状态发生变化时影视下载界面提示当前是使用免费的wifi还是机主自己的流量
1.首先定义被观察者的实体类
public class NetworkTypeNotifier extends Observable {
    
//发生变化时调用该方法通知
	public void notifyAll(NetworkType networkType) 
{
		this.setChanged();
		this.notifyObservers(networkType);
	}
}
2.可以在项目的Application中实例化该实体类
3.定义观察者
private Observer mTitleNetWorkObserver = new Observer() 
{
		@Override
		public void update(Observable observable, Object data) 
{
			 //数据变化时需要做的动作
}
	};
4.当想观察的数据发生变化时调用notifyAll方法通知数据变化
public void setCurrentNetworkType(NetworkType currentNetworkType) {
		if 
(this.currentNetworkType != currentNetworkType) {
		    
//通知数据变化
this.mNtn.notifyAll(currentNetworkType);
		}
		this.currentNetworkType 
= currentNetworkType;
	}
原文地址:http://www.cnblogs.com/sharons-house/p/3756611.html