首页 > 代码库 > 浅谈简单工厂模式和策略模式
浅谈简单工厂模式和策略模式
1、简单工厂模式如图
代码:
缺点:简单工厂模式需要客户端认识两个类,Cash和CashFactory
优点:子类的实例化被工厂封装了起来,客户端看不到
2、策略模式如图
代码:
public class Context{ Strategy strategy; public Context(Strategy strategy){ this.strategy = strategy; } public double getResult(double money){ return strategy.acceptCash(money); }}
缺点:客户端(测试端)完全暴露了实现的子类
优点:策略模式的优点是简化了单元测试,因为每一个算法都有自己的类,可以通过自己的接口进行单元测试
我们需要做的是把简单工厂模式和策略模式结合起来,做到效果的最优
优点:这样我们在客户端实例化的是Content的对象,调用的是Content的方法getResult这使得具体的收费算法彻底与客户端分离,连算法的父类Cash都不让客户端认识
浅谈简单工厂模式和策略模式
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。