策略模式

来源:互联网 发布:易游网络验证山寨 编辑:程序博客网 时间:2024/05/16 07:35

1,什么是策略模式?

策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。

2,策略模式有什么好处?

     策略模式的好处在于你可以动态的改变对象的行为。

3 ,策略模式中有三个对象:

(1)       环境对象:该类中实现了对抽象策略中定义的接口或者抽象类的引用。
(2)       抽象策略对象:它可由接口或抽象类来实现。
(3)       具体策略对象:它封装了实现同不功能的不同算法。
利用策略模式构建应用程序,可以根据用户配置等内容,选择不同有算法来实现应用程序的功能。具体的选择有环境对象来完成。采用这种方式可以避免由于使用条件语句而带来的代码混乱,提高应用程序的灵活性与条理性。

5,应用场景举例:

  商场商品打折有九折,有7折


/** * 策略接口 * @author coco * */public interface Strategy { void saleoff();}

/** * 具体的策略 * @author coco * */public class JiuSale implements Strategy {@Overridepublic void saleoff() {System.out.println("我打九折");}}

/** * 环境对象 * @author coco * */public class Context {Strategy strartegy;public Context(Strategy strartegy) {this.strartegy = strartegy;}public void saleoff() {strartegy.saleoff();}}

/** * 调用者 * @author coco * */public class Test {public static void main(String[] args) {//Context con=new Context(new JiuSale());Context con=new Context(new BaSale());con.saleoff();}}



0 0
原创粉丝点击