之所以大家说策略模式跟简单工厂很像,傻傻分不清楚,其实博主这个策略模式举得例子并不是单纯的策略模式,这是策略+简单工厂优化后的模式,本来策略模式应该类似如下:class Context_SalesMan{
private Strategy strategy;
public SalesMan(Strategy strategy) {
this.strategy=strategy;
}
}
//向客户展示促销活动
public void SalesManShow(){
strategy.show();
}
}
具体的实现过程需要在客户端完成,所以显得很low,故而一般都优化成策略+简单工厂模式,如博主所写的那样。(如见解有误,欢迎指正)