策略模式
一、题目:
设计一个网上书店,该系统中所有的计算机图书(ComputerBook),每本都有10%的折扣;所有的语言类图书(LanguageBook),每本有2元的折扣;小说类图书以每100元有10元的折扣,用策略模式设计该系统
(1)绘制策略模式结构视图
(2)给出实例类图并实现代码
二、所用模式结构视图:
三、实例类图:
四、实例实现代码:
(因为区分,所以在类的前面加了Gj19)
策略接口
package gjStrategyPattern;
/**
* 策略接口
* @author gong
*
*/
public interface Gj19BookStrategy {
double calPrice(double price);
}
计算机书籍打折策略
package gjStrategyPattern;
/**
* 计算机书籍打折策略
* @author gong
*
*/
public class Gj19ComputerStrategy implements Gj19BookStrategy{
/**
* 具体的打折策略
*/
@Override