工厂方法模式和抽象工厂直接理解.
简单理解,抽象工厂是工厂方面模式的升华.在工厂的这个维度来再度扩展.
A.工厂方法
比如说,你的农场现在种植北方的蔬菜和水果.
Factory factory = new 北方农场();
Product product = factory.生产水果();
现在生产出来的产品就是水果(北方农场).
Product veggie = factory.生产蔬菜();
这就是生产蔬菜(北方农场).
B.抽象工厂
现在扩展下,引入大棚可以生产南方的蔬菜和水果了.
扩展工厂.增加一种南方农场的维度.
Factory southFactory = new 南方农场();
Product sourthFruit = southFactory.生产水果();
生产出来的是南方的水果.
简单理解,抽象工厂是工厂方面模式的升华.在工厂的这个维度来再度扩展.
A.工厂方法
比如说,你的农场现在种植北方的蔬菜和水果.
Factory factory = new 北方农场();
Product product = factory.生产水果();
现在生产出来的产品就是水果(北方农场).
Product veggie = factory.生产蔬菜();
这就是生产蔬菜(北方农场).
B.抽象工厂
现在扩展下,引入大棚可以生产南方的蔬菜和水果了.
扩展工厂.增加一种南方农场的维度.
Factory southFactory = new 南方农场();
Product sourthFruit = southFactory.生产水果();
生产出来的是南方的水果.
本文通过农场种植蔬菜和水果的例子介绍了工厂方法模式与抽象工厂模式的区别与联系。工厂方法模式为每个产品提供了一个对应的工厂,而抽象工厂模式则允许在不修改代码的情况下增加新的产品类别。
9571

被折叠的 条评论
为什么被折叠?



