/**
* 价格管理,主要完成计算向客户所报价格的功能
*/
public class Price {
/**
* 报价,对不同类型的,计算不同的价格
* @param goodsPrice 商品销售原价
* @param customerType 客户类型
* @return 计算出来的,应该给客户报的价格
*/
public double quote(double goodsPrice,String customerType){
if(customerType.equals("普通客户")){
return this.calcPriceForNormal(goodsPrice);
}else if(customerType.equals("老客户")){
return this.calcPriceForOld(goodsPrice);
}else if(customerType.equals("大客户")){
return this.calcPriceForLarge(goodsPrice);
}
//其余人员都是报原价
return goodsPrice;
}
/**
* 为新客户或者是普通客户计算应报的价格
* @param goodsPrice 商品销售原价
* @return 计算出来的,应该给客户报的价格
*/
private double calcPriceForNormal(double goodsPrice){
System.out.println("对于新客户或者是普通客户,没有折扣");
return goodsPrice;
}
/**
* 为老客户计算应报的价格
* @param goodsPrice 商品销售原价
* @return 计算出来的,应该给客户报的价格
*/
private double calcPriceForOld(double goodsPrice){
System.out.println("对于老客户,统一折扣5%");
return goodsPrice*(1-0.05);
}
/**
* 为大客户计算应报的价格
* @param goodsPrice 商品销售原价
* @return 计算出来的,应该给客户报的价格
*/
private double calcPriceForLarge(double goodsPrice){
System.out.println("对于大客户,统一折扣10%");
return goodsPrice*(1-0.1);
}
}
|
相关推荐
使用strategy策略模式完成算法的封装,实现三种排序算法之间的互相替换。
走进设计模式之 策略模式(Strategy) 代码
GOF设计模式是软件开发过程中特定环境下...利用GOF中的Strategy设计模式设计不同的算法,来实现地址定位的基本功能,这不仅能使代码模块化,增强代码的可复用性,从而大幅度地减少了系统的维护成本,提高了算法运行的效率。
C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式
了解设计模式-Strategy模式,并对运用有一定熟悉。
JewelleryStore:该项目使用诸如MVVM作为架构模式的本地化,依赖注入等概念,并在其中一个屏幕中实现了Strategy设计模式。
一个stragegy模式的例子,学习设计模式的可以参考
这份文档讲诉了设计模式之策略(Strategy)模式,希望可以帮助学习的人!
2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之Observer 9、设计模式之Strategy(策略) 10、设计模式之...
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
Strategy模式封装算法。如果有多个算法可以互换使用,Strategy比较合适。 Bridge模式是对抽象和具体的进一步抽象。
设计模式培训-strategy
C#面向对象设计模式 (行为型模式) Strategy 策略模式 视频讲座下载
设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想...
这种设计模式比较常用,希望能够帮助到大家。
看过一些设计模式方面的书籍和文章,虽然很正式,很权威,(也觉得有那么一点刻板),总是觉得让人不那么好靠近。于是,我思考着像写故事一样来写下自己对设计模式的理解。我们将以一款奇幻角色扮演游戏(D&D)为蓝本,...
设计模式-策略模式(Strategy)结合Android小知识讲解,简单明了
设计模式C++学习之策略模式(Strategy)
设计模式参考文档 创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder ...设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要资源分。敬请期待。 这是第23节:行为型...