简单工厂模式,顾名思义,就是比较简单的一个模式,并且使用在业务比较简单的情况下,且具体产品不需要扩张
它由三种角色组成
工厂类,是这个模式的核心,含有一定的逻辑和判断,根据逻辑不同,产生具体的工厂产品
抽象产品:具体产品的父类
具体产品:工具抽象产品类创建的具体产品类,具体实现某些产品的功能
例如:先创建一个工厂类:饮料类,然后创建抽象产品类,分为康师傅类和统一类,再建立各自具体产品类,饮料各继承康师傅和统一,最后在工厂类中调动各个产品的生产
在具体工厂中,各个具体产品类和其父类非常简单明了
抽象工厂模式,是简单工厂的进阶版,当你的产品需要多个产品线时,使用抽象工厂是更好的选择
它有四种角色组成
抽象工厂类,声明了创建不同产品的方法
具体工厂类,实现抽象工厂中定义的创建方法
抽象产品类,为每种产品声明业务方法
具体产品类,定义具体工厂生产的具体产品,并且实现抽象产品中定义的业务方法
在上面介绍的简单工厂模式中,我们发现,工厂是用来生产具体产品的,而在抽象工厂模式中,分为了抽象工厂和具体工厂
简单的来说,在抽象产品类中定义了所需要的生产线,然后在具体产品中实现所需要的生产线,定义了方法来实现生产线,在具体工厂中实现具体产品
抽象工厂模式相比于简单工厂模式,隔离了具体类的生成,使得客户并不需要知道什么被创建。由于这种隔离,更换一个具体工厂就变得相对容易。所有的具体工厂都实现了抽象工厂中定义的那些公共接口,因此只需改变具体工厂的实例,就可以在某种程度上改变整个软件系统的行为。另外,应用抽象工厂模式可以实现高内聚低耦合的设计目的,因此抽象工厂模式得到了广泛的应用。
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1148
183.71 KB下载数642
644.84 KB下载数2756
相关文章
发现更多好内容- Java Arrays 类中 copyOfRange 的使用场景有哪些?(Java Arrays类中copyOfRange的使用场景)
- 如何设置 Java Kubernetes 安全策略?(java kubernetes安全策略如何设置)
- 有哪些常用的 java 文本编辑器?(常用的java文本编辑器有哪些)
- Java中 AOP 的应用场景具体有哪些?(java中aop的应用场景有哪些)
- 如何在 Java 中实现踢人下线功能?(Java怎么实现踢人下线功能)
- Java 交换器(exchanger)的替代方案都有哪些呢?(java exchanger的替代方案有哪些)
- Java 中如何使用 JsonNode 来解析 JSON 数据?(Java JsonNode如何解析JSON数据)
- 如何进行Ruby代码安全检测
- 在 Java 中如何设置 Swing 的背景图片?(java中swing如何设置背景图片)
- Java 输入输出流出现问题该如何解决?(Java输入输出流出现问题怎么解决)