📄 pricingstrategyfactory.java
字号:
/**
* @name PricingStrategyFactory.java
* @author Administrator/pan
* @version 1.1
* @date 2009/2/17
*/
package com.digitstore.process.server;
import com.digitstore.process.server.sale.CompositeBestForCustomerPricingStrategy;
import com.digitstore.process.server.sale.ISalePricingStrategy;
import com.digitstore.process.server.sale.PercentDiscountPricingStrategy;
//返回各种定价组合策略的单子抽象工厂
public class PricingStrategyFactory {
//组合定价策略
private CompositeBestForCustomerPricingStrategy compBestCustPriStrategy;
//打折定价策略
private PercentDiscountPricingStrategy percDisPriStrategy;
//工厂单子
private static PricingStrategyFactory instance;
//返回本工厂的一个单子
public static synchronized PricingStrategyFactory getInstance(){
if(instance == null){
instance = new PricingStrategyFactory();
}
return instance;
}
//返回一个顾客组合最佳策略
public CompositeBestForCustomerPricingStrategy getCompBestCustPriStrategy(){
if(compBestCustPriStrategy == null){
compBestCustPriStrategy = new CompositeBestForCustomerPricingStrategy();
}
return compBestCustPriStrategy;
}
//返回一个打折定价策略
public PercentDiscountPricingStrategy getPercDisPriStrategy(){
if(percDisPriStrategy == null){
percDisPriStrategy = new PercentDiscountPricingStrategy();
}
return percDisPriStrategy;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -