设计模式系列之
一:观察者模式
背景:当我们退出android应用时,往往不能关闭所有的activity而系统又没有提供一次性退出所有应用的方法。
此时观察者模式很好的解决了这个问题:
我们在做android项目时往往用到一个baseactivty,这是继承了avtivity的基类,我们把在各个activity用到的方法都整理到这个activity,方便以及加速我们的开发过程。
而在我们初始化的方法中我们可以将继承此类的activity通过一个attach方法:
private Vector<Activity> obsVector=new Vector<Activity>();
private Context context;
public void attach(Activity activity){
obsVector.add(activity);
}
再在baseactivity写一个destroyAllActivity方法结束掉所有activity
public void destroyAllActivity(){
for(obsVector activity:obsVector)
activity.finish();
}
当然你也可以对你想关闭的activity进行控制:
public void detach(Activity activity){
obsVector.remove(activity);
}
当然前提是你在初始化这个activity时,将每个activity 给添加进去一般我们在oncreate方法中添加进去:
public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
context=this;
attach(this);
}
这是观察者模式在项目中普遍用到的,在这里与大家共享一下,有什么问题欢迎大家私信探讨与指教。。
下一篇:为命令模式在项目中的应用。。敬请期待。。