欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

设计模式入门学习之策略模式实例讲解,设计模式实例讲解

来源: javaer 分享于  点击 44478 次 点评:196

设计模式入门学习之策略模式实例讲解,设计模式实例讲解


策略模式:使算法在不影响客户端的情况下发生变化。

例如某宝上的一件商品,有时候8折并返现3元、有时候7折返现1元、有时候9折不返现、有时候不打折返现2元等等,我们可以看到这个商品不同时刻要计算利润或者什么的时候是不一样的,现在就可以用到策略模式了。

\

代码:

public abstract class Algorithm {
    public abstract void method();
}

public class Algorithm1 extends Algorithm {
    @Override
    public void method() {
    }
}
public class Algorithm2 extends Algorithm {
    @Override
    public void method() {
    }
}

public class Algorithm3 extends Algorithm {
    @Override
    public void method() {
    }
}

public class Client {
    private Algorithm algorithm;
}

当需要更换算法实现的时候我们只需要更换Client对象持有的Algorithm的实现就可以了

学习更多设计模式请参考:入门设计模式之汇总篇

策略模式:使算法在不影响客户端的情况下发生变化。

例如某宝上的一件商品,有时候8折并返现3元、有时候7折返现1元、有时候9折不返现、有时候不打折返现2元等等,我们可以看到这个商品不同时刻要计算利润或者什么的时候是不一样的,现在就可以用到策略模式了。

\

代码:

public abstract class Algorithm {
    public abstract void method();
}

public class Algorithm1 extends Algorithm {
    @Override
    public void method() {
    }
}
public class Algorithm2 extends Algorithm {
    @Override
    public void method() {
    }
}

public class Algorithm3 extends Algorithm {
    @Override
    public void method() {
    }
}

public class Client {
    private Algorithm algorithm;
}

当需要更换算法实现的时候我们只需要更换Client对象持有的Algorithm的实现就可以了

相关栏目:

用户点评