public abstract class ValueStackFactory
{
private static ValueStackFactory factory = new OgnlValueStackFactory();
public static void setFactory(ValueStackFactory factory) {
factory = factory;
}
public static ValueStackFactory getFactory() {
return factory;
}
public abstract ValueStack createValueStack();
public abstract ValueStack createValueStack(ValueStack paramValueStack);
}
public class OgnlValueStackFactory extends ValueStackFactory
{
public ValueStack createValueStack()
{
return new OgnlValueStack();
}
public ValueStack createValueStack(ValueStack stack)
{
return new OgnlValueStack(stack);
}
}
从上面可以看到ValueStackFactory是一个抽象类,而OgnlValueStackFactory继承了这个抽象类,但是前者把后者作为自己的成员变量声明了,请问这是什么用法?跟设计模式有关吗?
2 个解决方案
#1
在抽象类中的引用,设计模式的话,感觉有点像桥接模式;
#2
抽象工厂啊 兄弟
#1
在抽象类中的引用,设计模式的话,感觉有点像桥接模式;
#2
抽象工厂啊 兄弟