【发布时间】:2013-10-08 18:17:07
【问题描述】:
假设一个没有抽象方法的Java程序,是否可以在没有抽象方法的情况下实现工厂方法模式?
【问题讨论】:
-
是的,你担心什么?
-
只是一个注释。工厂方法不同于工厂设计模式
标签: java abstract factory-pattern abstract-factory
假设一个没有抽象方法的Java程序,是否可以在没有抽象方法的情况下实现工厂方法模式?
【问题讨论】:
标签: java abstract factory-pattern abstract-factory
当然:factory method 不需要是抽象的——它可以是一个非抽象方法,默认实现会抛出异常,或者它可以是一个接口的方法,它总是抽象的。
interface Product {
void doSomething();
}
interface Creator {
Product create(String someData);
}
class ProductX implements Product {
public void doSomething() {
System.out.println("X");
}
}
class ProductY implements Product {
public void doSomething() {
System.out.println("y");
}
}
class XYFactory implements Creator {
public Product create(String someData) {
if ("X".equals(someData)) {
return new ProductX();
}
if ("Y".equals(someData)) {
return new ProductY();
}
return null;
}
}
【讨论】: