大佬们 抽象工厂模式与工厂模式的区别仅仅只是在工厂接口上多加了一个方法吗? 我觉得 不考虑后期扩展商品的话 抽象工厂模式与工厂模式的区别就仅仅是在工厂接口里方法的方法数目不同; 而实际若真要扩展的话 无论是 抽象工厂模式还是工厂模式 其实都违反了开闭原则 都要建好几个类 也都要修改工厂接口
来源:云原生后端社区
https://www.yuque.com/server_mind/answer
- 工厂方法模式一种创建对象的模式,它被广泛应用在jdk中以及Spring和Struts框架中;
- 工厂方法模式基于"输入",应用在超类和多个子类之间的情况,这种模式将创建对象的责任转移到工厂类;
抽象工厂就好比把实际生产外包出去,比如苹果手机组装外包给中国,我只指定生产规范。 工厂模式就好比中国的富士康,我除了能生产手机还能生产汽车零件。抽象的范畴不同。 苹果抽象的是中国代工厂还是印度代工厂,中国富士康抽象的是我生产的是苹果鼠标还是雷蛇鼠标
抽象工厂强调的是产品簇的概念。 简单说,一辆车子,需要变速器+引擎。 一汽丰田生产丰田汽车,那他得有生产变速器+引擎两个子工厂。
这里有个前提,就是 变速器需要强绑定引擎。所以,当广汽本田生产本田汽车的时候,就无法使用 丰田生产的变速器了。
来源:云原生后端社区
https://www.yuque.com/server_mind/answer
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。