工厂模式由实现特定接口的类组成。它总是必须是一个界面吗?当我有从其他类继承而不是接口的子类时,它仍然是一个工厂方法吗?
答案 0 :(得分:5)
Factory method pattern不必然与接口有关(就语言的interface
关键字或构造而言)。您可以拥有创建类实例的工厂方法,并且可以像使用接口一样轻松地构造子类而不是基类。
例如,请参阅this Wikipedia example。这里创建了Room
,主类型的子类创建了Room
个实例的不同具体类型。这仍然使用Factory方法模式,即使没有涉及“接口”。
我的问题是,如果我用父类“替换”接口,它仍然是工厂方法吗?
是的 - 它仍然是一种工厂方法。
答案 1 :(得分:1)
这并不意味着。
交互,控制(创建)而非Java interface