我有一个依赖工厂类,比如
class DependencyFactory {
static Dependency dependency1 = getDependency1FromSomewhere();
static Dependency dependency2 = getDependency2FromSomewhere();
public static Dependency getDependency(int arg1) {
if (arg1 == 1) return dependency1;
return dependency2;
}
}
现在我的困惑在于DependencyFactory类的名称。我认为这不是一个工厂,而是一个基于参数返回预定义依赖关系的decider类。那么,名字是否可以像DependencyFactory,或者它应该是别的吗?
谢谢。请评论任何其他信息。
答案 0 :(得分:0)
严格遵循GoF book
的定义定义用于创建对象的接口,但让子类决定使用哪个类 实例化。 Factory Method允许类将实例化延迟到子类。
人们不得不说:不 - 你的班级不是工厂,因为这种模式为你提供了一种方法,实例化类。
也许您在寻找的是strategy pattern
根据我对设计模式的经验,通常不可能在不知道系统背景的情况下确定哪种方式适合。