码迷,mamicode.com
首页 > 其他好文 > 详细

策略模式

时间:2018-05-12 21:38:41      阅读:147      评论:0      收藏:0      [点我收藏+]

标签:ret   策略模式   imp   简单的   利用   print   rri   main   替换   

策略模式是一种简单的模式,利用继承(实现)关系。

对同一个功能产生不同的子类,对某个方法进行不同的策略

代码如下

//接口类
public interface Strategy {
    public int reduce(int pay);
}

//实现1,满五百减两百
public class StrategyA implements Strategy {
    @Override
    public int reduce(int pay) {
        if(pay>500){
            pay-=200;
        }
        return pay;
    }
}

//实现2 满一千打八折
public class StrategyB implements Strategy{
    @Override
    public int reduce(int pay) {
        if(pay>1000){
            pay*=0.8;
        }
        return pay;
    }
}

//实现3 原价
public class StrategyC implements Strategy{
    @Override
    public int reduce(int pay) {
        return pay;
    }
}


//对某次付款进行促销
public class Context {
     public static void main(String[] args) {
        int pay=1850;
        Strategy s1=new StrategyA();
        Strategy s2=new StrategyB();
        Strategy s3=new StrategyC();
        pay=s2.reduce(pay);
        pay=s1.reduce(pay);
        pay=s3.reduce(pay);
        System.out.println(pay);
        
    }
}

这样我们通过替换显示层的new对象就可以控制某个功能的不同实现了。。。。。

一般Spring

策略模式

标签:ret   策略模式   imp   简单的   利用   print   rri   main   替换   

原文地址:https://www.cnblogs.com/blackdeng/p/9029903.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!