创建工厂的阶级的好名字是什么?(FooFactoryFactory听起来很傻imo)

罗马:

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

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接口和FooItem接口(通用的Abstract Factory模式)。

那么,如何重命名FooFactoryFactory?

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

博zh:
  • FooFactoryCreator
  • FooFactoryProvider

但是您可能想将工厂重命名为建筑商。看一下javax.xml.parsers.DocumentBuilderFactory,它DocumentBuilder会产生实例,而实例又会产生Documents

查看DocumentBuilderFactory示例,出现了另一个选择:

  • 有一个摘要 FooFactory
  • static newInstance()那里做一个方法(带参数)
  • 让我们newInstance()返回适当的实现FooFactory

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

自然转换`forall a'的好名字是什么。ma->(Identity⊕m)a`?

Java中列表变量的好名字

使系统听起来比设备响亮

Laravel听起来像魔术

用Java听起来。失误

为什么昂贵的耳机在Linux上听起来便宜-驱动程序糟透了?

用inUse()方法寻找接口的好名字

lt,lte,gt,gte的翻转版本的好名字吗?

解析听起来有效的 DateTime 时出错

听起来自然的文字到语音?

惰性初始化听起来很不错。为什么不总是默认使用延迟初始化?

URL 路径和查询字符串和片段的好名字?

wordpress从数据库中获取用户的好名字

AWS Dynamodb的项目大小和列表项目计数限制听起来很矛盾

听起来不行吗?(仍然需要一个答案)

电源听起来像是对硬盘进行了碎片整理

胖模型和瘦控制器听起来像是在创造上帝模型

听起来不起作用-特定版本的内核中的错误?

如何使电影2001:太空漫游中的Ubuntu听起来像HAL?

添加效果使声音听起来像电话一样

新硬盘听起来不太好,有助于解释SMART

如何在Linux和Windows中使MIDI文件听起来相同?

pygame`.mid`音频文件在其他平台上听起来不同

Java OpenAL:按键时听起来会播放,但仅持续很短的时间

VBA代码来隐藏表中的行(比听起来复杂)

致命异常:(听起来很糟糕)无法启动活动ComponentInfo

笔记本电脑的扬声器听起来很糟糕。音质不佳

这听起来可能很愚蠢,但是我将如何开始绘制这个图形呢?

直接在子类的对象上调用时的静态和私有方法行为听起来像是覆盖?