我不记得是不是一个通用模式,但是我有一个类(工厂方法模式),该类具有根据枚举参数创建其他类的方法(抽象工厂模式):

public class FooFactoryFactory {
   public FooFactory createFactory (FooFactoryType type) {
      switch (type) {
         case AFoo:
            return new AFooFactory ();
            break;
         case BFoo:
            return new BFooFactory ();
            break;
         default:
            throw new RuntimeException ("...");
      }
   }
}

public interface FooFactory {
   Foo createFoo ();
   FooItem createFooItem ();
}

FooFactory具有几种实现以及Foo接口(interface)和FooItem接口(interface)(通用的Abstract Factory模式)。

那么,如何重命名FooFactoryFactory?

也许是FooFactoryCreator? (在写这个问题时要想起这个名字)。恕我直言,这很好,您如何看待?

最佳答案

  • FooFactoryCreator
  • FooFactoryProvider

  • 但是您可能想将工厂重命名为建筑商。看一看javax.xml.parsers.DocumentBuilderFactory,它产生了DocumentBuilder实例,这些实例又产生了Document s

    查看DocumentBuilderFactory示例,出现了另一个选择:
  • 有一个抽象的FooFactory
  • 在那里(带有参数)制作static newInstance()方法
  • newInstance()返回FooFactory的适当实现
  • 关于java - 创建工厂的类(Class)的好名字是什么? (FooFactoryFactory听起来很傻imo),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2186458/

    10-14 04:24