我已阅读工厂方法模式。设计后一个例子时我遇到了问题。
模式的最佳设计?有人可以给我任何建议吗?
AbstractProduct Creator
/ \ / \
Product1 Product2 Creator1 Creator2
AbstractProduct ? How to design Creator ?
/ | \
Product1 Product2 SubAbstractProduct
/ \
Product3 Product 4
答案 0 :(得分:1)
Creator 的设计方式与上一个示例相同,因为创建 Product3 和 Product4 的具体创建者仍然是 AbstractProduct
回答评论:
不是真的。当在子Concrete Creator类(工厂模式)中重写此 AbstractProduct createProduct()时,它可以返回 SubAbstractProduct 。
只是想补充一点,你可以在Java 1.5中执行上述操作(即重写方法返回父类方法中返回的子类型)。