首页 > 其他 > 详细

002 策略设计模式

时间:2018-04-28 20:41:20      阅读:193      评论:0      收藏:0      [点我收藏+]

一 . 概述

策略设计模式就是将功能的实现抽离出来,形成统一的接口.

提供一个统一的接口参数方法.


 

二 . 代码实现

这里用一个交税的例子说明一下.

[1] 策略接口

public interface CalculateTax {
    //一个统一的接口,方法的入参分别为工资和奖金
    double calculate(double salary , double bouns);
}

[2] 策略的实现

//一个简单的计算方式
public class SimpleStrategy implements CalculateTax{
    
    private static final double salary_ratio = 0.1d ; 
    private static final double bouns_ratio = 0.2d ; 
    //现在的计算方式
    public double calculate(double salary, double bouns) {
        return salary * salary_ratio + bouns * bouns_ratio;
    }
    
}

[3]调用处

//税务计算器
public class TaxCalculator {
    
    //计算税务
    //方法的参数需要一个策略的传入
    public static double countTax(double salary , double bouns ,CalculateTax strategy) {
        return strategy.calculate(salary, bouns);
    }
    
}

[4]测试

public class TestClass {
    
    public static void main(String[] args) {
        System.out.println(TaxCalculator.countTax(1000, 1000, new SimpleStrategy()));
    }
}

三 . 说明 

(1)设计模式的核心有两处

    [1] 策略接口

    [2]调用处使用接口(抽象类型)

(2)好处: 当我们的策略发生变化的时候,我们可以使用一致性的方式进行编程.

(3)当我们使用spring这样的框架的时候,我们就可以使用配置的方式进行处理.

  也就是说我们需要修改的时候,只需要创建一个新的类,然后修改配置就能完成.

002 策略设计模式

原文:https://www.cnblogs.com/trekxu/p/8969279.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!