您的位置 首页 java

java设计模式策略模式

 //策略模式仅仅封装算法,提供新的算法插入到已有项目中
import java.math.BigDecimal;
/**
 * @date: 2022/6/5 22:30
 * @desc: 策略接口
 */public interface IStrategyPrice {
    BigDecimal getRealPrice(BigDecimal price);
}
import java.math.BigDecimal;
/**
 * @date: 2022/6/5 22:32
 * @desc: 新活动价
 */public class NewPrice implements IStrategyPrice {
    public BigDecimal getRealPrice(BigDecimal price) {
         BigDecimal  scale = new BigDecimal(0.8);
        return price.multiply(scale);
    }
}
import java.math.BigDecimal;
/**
 * @date: 2022/6/5 22:32
 * @desc: 上期活动价
 */public class OldPrice implements IStrategyPrice {
    public BigDecimal getRealPrice(BigDecimal price) {
        BigDecimal scale = new BigDecimal(0.9);
        return price.multiply(scale);
    }
}
import java.math.BigDecimal;
/**
 * @date: 2022/6/5 22:35
 * @desc: 获取真实价
 */public class RealPrice {
    private IStrategyPrice strategyPrice;
    public RealPrice(IStrategyPrice strategyPrice_) {
        strategyPrice = strategyPrice_;
    }
    public BigDecimal getRealPrice(BigDecimal price) {
        return strategyPrice.getRealPrice(price);
    }
}
        // 测试代码
        BigDecimal price = new BigDecimal(8);
        IStrategyPrice newPrice = new NewPrice();
        RealPrice realPrice = new RealPrice(newPrice);
        System.out.println("折算后的价格:"+ realPrice.getRealPrice(price));  

文章来源:智云一二三科技

文章标题:java设计模式策略模式

文章地址:https://www.zhihuclub.com/193700.shtml

关于作者: 智云科技

热门文章

网站地图