Android的策略模式和状态模式

来源:互联网 发布:西门子840d编程手册 编辑:程序博客网 时间:2024/05/17 06:24

这一次我把两个个相似的模式都一起讲

Android策略模式指的是当一个问题在不同情况下分别可以由不同的方法解决时,我们需要将不同的解决方法分别写成几个类,将解决方法分隔开来,以防后来因为情况的种类增加而导致解决方法的增加。

public interface Way {    public void getData();}
public class AWay implements Way {    @Override    public void getData() {        Log.v("zzw","A");    }}
public class BWay implements Way {    @Override    public void getData() {        Log.v("zzw","B");    }}

这个模式其实非常常见,在RecyclerView里的布局管理器就是这个形式,通过几个不同的类让RecyclerView显示不同的样式。而我们对于这个模式基本上在有多种选择的情况都可以使用。

Android的状态模式指的是在不同状态下调用这个接口A的函数所产生的效果不同,其实是因为这个接口A的实例是它的子类,而这个子类有几种,这个种类对应着各种状态。状态模式和策略模式原理都一样,代码也一样,所以我认为这个只是个叫法在不同的环境下叫法不同。

不过我们在使用这些模式的时候不要太在意我们使用了什么设计模式,而是要考虑我们这么写代码,这个代码与其他的代码的耦合性高不高,这个代码的可重用性高不高,这个代码的的函数的逻辑关系清不清楚(也就是只用看函数名就知道作用)