Closed. This question is opinion-based。它当前不接受答案。
想要改善这个问题吗?更新问题,以便editing this post用事实和引用来回答。
7年前关闭。
Improve this question
我想知道生成这样使用的代码是否是一个好习惯:
在这里,TemplateProcessor仅包含一个公共(public)方法。上面的代码似乎可以用静态方法表示,但我想避免这种情况。原因很简单:对象可能包含封装状态(也许现在,也许将来)。尊敬的专家,在这种情况下,您希望什么?
上面的静态方法只是一个外观,一种方便的方法,可用于您的类正在解决的特定用例,这很常见。它不会阻止类的发展,甚至不会增加状态。对于更专业的用例,使用者仍可以照常创建类的实例并使用其方法。
为了使分离更加明显,您可以将静态方法添加到同级类中,例如
想要改善这个问题吗?更新问题,以便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/