这是否适合用一种方法创建一个类?

daz*_*azu 7 java oop static class object

我想知道生成像这样使用的代码是否是一个好习惯:

new TemplateProcessor(inputStream).processTemplate("output-path.xhtml");
Run Code Online (Sandbox Code Playgroud)

这里,TemplateProcessor只包含一个公共方法.看来上面的代码可以用静态方法表示,但我想避免这种情况.原因很简单:对象可能包含封装状态(可能现在,可能在将来).亲爱的专家,在这种情况下你更喜欢什么?

Jor*_*dão 2

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

\n\n
processTemplate(inputStream, "output-path.xhtml");\n
Run Code Online (Sandbox Code Playgroud)\n\n

上面的静态方法只是 fa\xc3\xa7ade,这是用于该特定用例的便捷方法,据说是非常常见的一个。它不会阻止类的发展,甚至添加状态。对于更专业的用例,消费者仍然可以像往常一样创建该类的实例并使用其方法。

\n\n

为了使这种分离更加明显,您可以将静态方法添加到同级类中,例如TemplateProcessorFacade,它是一个不可实例化的实用程序类:

\n\n
public final class TemplateProcessorFacade {\n  private TemplateProcessorFacade() {}\n  public static void processTemplate(...) {\n    ...\n  }\n}\n
Run Code Online (Sandbox Code Playgroud)\n