命名一个返回静态对象的工厂类

时间:2016-10-04 18:36:35

标签: java design-patterns naming-conventions static-methods factory-pattern

我有一个依赖工厂类,比如

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,或者它应该是别的吗?

谢谢。请评论任何其他信息。

1 个答案:

答案 0 :(得分:0)

严格遵循GoF book

的定义
  

定义用于创建对象的接口,但让子类决定使用哪个类   实例化。 Factory Method允许类将实例化延迟到子类。

人们不得不说:不 - 你的班级不是工厂,因为这种模式为你提供了一种方法,实例化类。

也许您在寻找的是strategy pattern

根据我对设计模式的经验,通常不可能在不知道系统背景的情况下确定哪种方式适合。