简单工厂模式和策略模式

1、简单工厂模式重于对象的创建,factory类帮助客户创建对应的子类具体对象,返回一个父类的指针给客户,客户看似对该父类对象操作,但通过多态执行的是实际子类对象的动作。可见,简单工厂模式是隐藏了对象创建的变化,然后返回给客户一个统一的父类对象,然客户接下来去操作这个父类对象吧。

2、策略模式是重于封装一个表面行为的内在的不同算法动作,比如说话,表面都是说话,是一致的,但不同动物所执行的内在说话动作是不一样的,有的是说汉语,有的是瞄,有点是狂吠。而策略模式通过context类来隐藏了内部的动作不一致,给客户一个统一的表面行为接口。而且context自己保存了一个父类引用,该引用不像factory类创建的对象一样,客户是不可以直接对其操作的。context类首先用factory类的创建对象方法给自己创建一个父类对象,然后又自己加了一个统一行为接口,提供给客户,这样客户就可以不用操作具体的父类对象,而创建一个context对象,使用它所提供的统一行为接口了。

3、策略模式相对于简单工厂模式来说,隐藏的更好,客户只需要知道context类即可。而简单工厂模式需要客户知道factory类和父类两个类呢。

4、策略模式:定义算法族,分别封装起来,让他们之间可以相互替换,此模式让算法的变化独立于使用算法的客户。
      简单工厂:将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。

5、简单工厂模式和策略模式都生成一个指针,前者是直接返回给用户,后者是保存在context类对象内。所以前者不够安全,后者可以当作智能指针一样对该指针安全操作。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
该资源内项目源码是个人的课程设计、毕业设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。 该资源内项目源码是个人的课程设计,代码都测试ok,都是运行成功后才上传资源,答辩评审平均分达到96分,放心下载使用! ## 项目备注 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载学习,也适合小白学习进阶,当然也可作为毕设项目、课程设计、作业、项目初期立项演示等。 3、如果基础还行,也可在此代码基础上进行修改,以实现其他功能,也可用于毕设、课设、作业等。 下载后请首先打开README.md文件(如有),仅供学习参考, 切勿用于商业用途。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值