栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

工厂模式和策略模式的区别

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

工厂模式和策略模式的区别

同:

在模式结构上,两者很相似

 

异:

1.工厂是创建型模式,它的作用就是创建对象,根据传参不同,创建不同对象,创建完对象再使用对象的方法
   策略是行为型模式,它的作用是让一个对象在许多行为中选择一种行为

2.一个关注对象创建,一个关注行为封装

3.工厂传参是一个类型,策略传参是一个new对象

总结:

工厂模式可以做到的事情,策略模式都可以做到。策略模式可以做到的事情,工厂模式也可以做到,只是会变得麻烦。因为,工厂模式主要是返回的接口实现类的实例化对象,然后再调用对象的方法,而策略模式的对象是在实例化策略模式的时候已经创建好了,我们可以在策略模式中随意的拼接重写方法,而工厂模式是不管方法的拼接这些的,他只关注最后的结果,不注重过程,每次只返回实例化对象,然后再一次一次调用对象的方法,而策略模式注重的是过程。

分别适用场景:

工厂模式是创建型的设计模式,它接受指令,创建出需要的实例;主要解决的是资源的统一分发,将对象的创建完全独立出来,让对象的创建和具体的使用客户无关。主要应用在多数据库选择,类库文件加载等。


策略模式是为解决策略的切换与扩展,更简洁的说是定义策略族,分别封装起来,让他们之间可以相互替换,策略模式让策略的变化独立于使用策略的客户。

补充:

策略模式和微服务:

策略模式和微服务很像,比如我们写3个接口,吃饭是一个微服务,跑步是一个微服务,穿衣是一个微服务。策略模式的宗旨就是将各项方法之间连接起来,达到一个新的方法,微服务的宗旨也是防止服务的多次调用,降低代码的耦合度,因此这么看来策略模式和微服务还是比较像的

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/995545.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号