【发布时间】:2015-07-17 14:00:15
【问题描述】:
例如:http://www.tutorialspoint.com/design_pattern/factory_pattern.htm
如果我在抽象类 Shape 上更改接口形状,请创建具体类以扩展 Shape 并使 Shape 工厂返回 Shape 抽象类类型对象。它仍然是工厂模式吗?
【问题讨论】:
-
简短回答:是的。实际上,从 Java 8 开始,您可以为接口中的方法提供默认实现,与抽象类的唯一区别是构造函数(您显然不会使用)和应该是私有的字段,因此几乎没有区别。
-
是的,也是一个带有实现默认方法的 java 8 接口。提供带有接口的默认基类确实经常发生(即在摇摆中),并且其本身是一种有用的、支持性的做法。也许尝试只制作
final公共方法,表示规定的行为/附加信息。优势之一:您可以使用protected方法来覆盖。 -
您可能还对Abstract Factory vs Factory Method感兴趣。
标签: java design-patterns