小桐学设计模式--策略模式

来源:互联网 发布:java游戏编程实例 编辑:程序博客网 时间:2024/06/10 02:40

策略模式:定义一系列的算法,把它们一个个封装起来,并且使它们可互相替换。策略模式其实和模版方法有点类似,引用我之前的文章小桐学设计模式–模版方法里面的例子进行改写。

将Pack类的抽象方法抽取出来,做成一个接口。

public interface Strategy {      Object packing(Fruit mFruit);  }

再改写Pack类。

public class Pack{    public object packFruit(Fruit mFruit,Strategy strategy){        return strategy.packing(mFruit);    }}

再将之前实现packing方法的子类改为实现Strategy接口。

public class PackA implements Strategy{    @Override    protect object packing(Fruit mFruit){    //包装A    }}

可以看到,策略模式和模版方法的思想是一样的,只是实现方法不同,策略模式采用了接口,而模版方法采用了继承。

0 0
原创粉丝点击