当前位置:首页 > 编程笔记 > 正文
已解决

设计模式:简单工厂、工厂方法、抽象工厂

来自网友在路上 170870提问 提问时间:2023-09-21 12:33:53阅读次数: 70

最佳答案 问答题库708位专家为你答疑解惑

参考
Java设计模式之创建型:工厂模式详解(简单工厂+工厂方法+抽象工厂) - 知乎

工厂方法

以生产手机为例,具体的UML图如下:
这种方法的优点是对于用户来说,不再需要面对具体的生产逻辑,只需要将生产的安排工作和细节都交给工厂类去做。缺点是在这种情况下,如果想要增加一种商品,比如华为手机,不仅需要新增一个实现抽象产品的接口,还需要修改具体工厂中的代码逻辑。

简单工厂

不仅对产品进行抽象,也对工厂进行抽象,这样想新增一个产品的话,不需要对现有代码进行修改,遵循了开闭原则,即对扩展开放,对修改封闭。

同样以手机为例:

抽象工厂方法

简单工厂只能针对单一的产品类型,如果场景变成了产品族,即苹果旗下不仅有手机,也有手环,小米旗下有手机,也有手环,如果客户想要一次性生产小米手机、小米手环,并一次性生产苹果手机、苹果手环,那么就需要自己再进行复杂的处理。

以手机、手环为例子的具体UML图:

查看全文

99%的人还看了

猜你感兴趣

版权申明

本文"设计模式:简单工厂、工厂方法、抽象工厂":http://eshow365.cn/6-10682-0.html 内容来自互联网,请自行判断内容的正确性。如有侵权请联系我们,立即删除!