java策略模式和工厂模式的区别
范丽坤 | 浏览(47746)
分享 | 2017-05-25 12:00
我要回答 已有1个回答
关注问题
王夕新
2017-05-25

工厂模式创建型模式策略模式行性模式关注象创建关注行封装策略模式定义系列算些算需要候替换扩展.工厂模式型模式需要候构建具体实例.面情况应考虑使用策略模式:1. 系统面许类间区别仅于行使用策略模式态让象许行选择种行2. 系统需要态几种算选择种些算包装具体算类面些具体算类都抽象算类类换言些具体算类均统接口由于态性原则客户端选择使用任何具体算类并持数据类型抽象算类象3. 系统算使用数据让客户端知道策略模式避免让客户端涉及必要接触复杂与算关数据4. 象行用恰模式些行使用重条件选择语句实现使用策略模式些行转移相应具体策略类面避免使用难维护重条件选择语句并体现面向象设计概念 策略模式优点缺点策略模式优点缺点优点:1. 策略模式提供管理相关算族办策略类等级结构定义算或行族恰使用继承公共代码移父类面避免重复代码2. 策略模式提供替换继承关系办继承处理种算或行用策略模式使用算或行环境类能些类每类提供同算或行算或行使用者算或行本身混起决定使用哪种算或采取哪种行逻辑算或行逻辑混合起能再独立演化继承使态改变算或行变能3. 使用策略模式避免使用重条件转移语句重转移语句易维护采取哪种算或采取哪种行逻辑与算或行逻辑混合起统统列重转移语句面比使用继承办要原始落策略模式缺点:1. 客户端必须知道所策略类并自行决定使用哪策略类意味着客户端必须理解些算区别便适选择恰算类换言策略模式适用于客户端知道所算或行情况2. 策略模式造策略类候通依赖于环境状态保存客户端面策略类设计共享策略类实例同客户端使用换言使用享元模式减少象数量策略模式与其模式都着广泛联系Strategy容易Bridge模式相混淆虽结构相似却解决同问题设计Strategy模式注重于算封装Bridge模式注重于离抽象实现抽象体系提供同实现Bridge模式与Strategy模式都体现"Favor composite over inheritance"观点

匿名
邀您回答

社会保险是指五险还是五险一金? 这住房公积金算社会保险里吗

显示全部

公司交五险一金,工伤赔偿是公司赔还是社会保障中心、劳动局赔

显示全部

五险一金可以取出吗

显示全部

如果有五险一金了,还需要重疾险吗?

显示全部

辞职需要什么手续,公司缴纳的五险一金怎么处理?

显示全部

农民自己能交五险一金吗

显示全部

个人所得税是按扣除五险一金之后的工资计算还是按扣之前的计算

显示全部

工资5000扣除五险一金和个税后,到手能拿多少?

显示全部

软件技术 软件与信息服务 移动互联网应用 这3个,哪个相对好点,哪个

显示全部

如何体现移动互联网下的用户价值

显示全部
智联介绍 | 人才招聘 | 网站地图 | 加入智联 | 法律声明 | 保密承诺 | 联系方式 | 常见问题 | | Investor Relations 您对 Zhaopin.com 有任何建议或意见请 联系我们
未经 Zhaopin.com 同意,不得转载本网站之所有招聘信息及作品 智联招聘网版权所有© 1997-2017
京ICP备12025925号 电信业务审批[2001]字第233号函 京公网安备 11010502002133号