Closed. This question is opinion-based。它当前不接受答案。












想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。

7年前关闭。



Improve this question




我想知道生成这样使用的代码是否是一个好习惯:
new TemplateProcessor(inputStream).processTemplate("output-path.xhtml");

在这里,TemplateProcessor仅包含一个公共(public)方法。上面的代码似乎可以用静态方法表示,但我想避免这种情况。原因很简单:对象可能包含封装状态(也许现在,也许将来)。尊敬的专家,在这种情况下,您希望什么?

最佳答案

将代码封装在静态方法中是合理的,通过静态导入,它变得非常易于使用:

processTemplate(inputStream, "output-path.xhtml");

上面的静态方法只是一个外观,一种方便的方法,可用于您的类正在解决的特定用例,这很常见。它不会阻止类的发展,甚至不会增加状态。对于更专业的用例,使用者仍可以照常创建类的实例并使用其方法。

为了使分离更加明显,您可以将静态方法添加到同级类中,例如TemplateProcessorFacade,它是不可实例化的实用程序类:
public final class TemplateProcessorFacade {
  private TemplateProcessorFacade() {}
  public static void processTemplate(...) {
    ...
  }
}

关于java - 用一个方法创建一个类是否合适? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20711084/

10-12 00:41
查看更多