创建工厂的类的好名字是什么? (在我看来,FooFactoryFactory 听起来很傻)

发布于 2024-08-20 04:38:06 字数 1433 浏览 2 评论 0原文

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

任谁 2024-08-27 04:38:06
  • FooFactoryCreator
  • FooFactoryProvider

但是您可能想将工厂重命名为“builders”。看一下 javax.xml.parsers.DocumentBuilderFactory,它生成 DocumentBuilder 实例,这些实例又生成 Document

。 DocumentBuilderFactory 示例,出现另一个选择:

  • 使用抽象的 FooFactory
  • 在那里创建一个 static newInstance() 方法(带参数)
  • newInstance() 返回 FooFactory 的适当实现
  • FooFactoryCreator
  • FooFactoryProvider

But you might want to rename your factories to, say, builders. Take a look at javax.xml.parsers.DocumentBuilderFactory, which procudes DocumentBuilder instances, which in turn produce Documents

Looking into the DocumentBuilderFactory example, another option arises:

  • have an abstract FooFactory
  • make a static newInstance() method there (with parameters)
  • let newInstance() return the appropriate implementation of FooFactory
開玄 2024-08-27 04:38:06

创建和销毁 Java 对象:第 1 部分中,作者建议,“静态工厂方法的一个优点是,与构造函数不同,它们有名称。” –约书亚·布洛赫。您可能会从文章中得到一些想法。

In Creating and Destroying Java Objects: Part 1, the author suggests, "One advantage of static factory methods is that, unlike constructors, they have names." –Joshua Bloch. You may get some ideas from the article.

雅心素梦 2024-08-27 04:38:06

尽管 Bozho 的答案非常好,但我真的会考虑 FooFactoryFactory,即使它听起来很愚蠢。它传达的意图是独一无二的。

替代名称为 FooMetaFactoryFooPreFactory

可能的不同命名约定是 FooParentFooGrandParent

Although the answer by Bozho is pretty good, I'd really consider FooFactoryFactory even if it may sound silly. It conveys the intent like nothing else.

Alternative names are FooMetaFactory and FooPreFactory.

A possible different naming convention is FooParent and FooGrandParent.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文