工厂方法模式故障

时间:2012-07-02 05:35:42

标签: design-patterns factory-pattern

我已阅读工厂方法模式。设计后一个例子时我遇到了问题。

模式的最佳设计?有人可以给我任何建议吗?

     AbstractProduct                   Creator
         /     \                        /   \
    Product1 Product2             Creator1 Creator2



        AbstractProduct                         ? How to design Creator ?
       /     |         \
Product1 Product2 SubAbstractProduct
                       /     \
                  Product3 Product 4

1 个答案:

答案 0 :(得分:1)

Creator 的设计方式与上一个示例相同,因为创建 Product3 Product4 的具体创建者仍然是 AbstractProduct

回答评论:

不是真的。当在子Concrete Creator类(工厂模式)中重写此 AbstractProduct createProduct()时,它可以返回 SubAbstractProduct

只是想补充一点,你可以在Java 1.5中执行上述操作(即重写方法返回父类方法中返回的子类型)。