設計模式系列之
一:觀察者模式
背景:當我們退出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);
}
這是觀察者模式在項目中普遍用到的,在這裏與大家共享一下,有什麼問題歡迎大傢俬信探討與指教。。
下一篇:爲命令模式在項目中的應用。。敬請期待。。