本文实例讲述了Java使用策略模式解决商场促销商品问题。分享给大家供大家参考,具体如下:
一 模式定义
策略模式:定义一系列的算法,将每一种算法封装起来并可以相互替换使用,策略模式让算法独立于使用它的客户应用而独立变化。
二 模式举例
1 模式分析
我们借用商场促销商品来说明这一模式。
2 策略模式静态类图
3 代码示例
3.1 创建策略接口一IStrategy
package com.demo.strategy;
/**
* 策略接口
*
* @author
*
*/
public interface IStrategy {
/**
* 计算实际价格方法
*
* @param consumePrice
* 消费金额
* @return
*/
public double realPrice(double consumePrice);
}
3.2 八折促销策略一RebateStrategy
package com.demo.strategy;
/**
* 打八折商品促销策略
*
* @author
*
*/
public class RebateStrategy implements IStrategy {
private final double rate;
/**
* 构造方法设置打折率
*/
public RebateStrategy() {
this.ra