我正在了解有关工厂设计模式的更多信息,并遇到了来自 Microsoft 的以下示例(我在 java 中对其进行了重新编码)。这里的例子
简洁版本:
一个抽象的 Product 类
扩展产品的具体产品类
一个抽象的工厂类
扩展工厂的具体工厂类
装配类
public class ProductAssembler { public void AssembleProduct(Factory factory) { Product p = factory.getProduct(); //do something } }
一个客户
public static void main(String[] args) { Factory factory = new ConcreteFactory(); new ProductAssembler().AssembleProduct(factory); }
问题:
- 在 main 方法中创建工厂对象而不是产品对象的目的是什么,为什么他们不将产品对象传递给 assembleproduct 方法并更改该方法以使其接受产品而不是工厂?
- 装配类是否也是“客户”的一部分?
谢谢