Java Return 自有实例列表的惯例?

Java Convention to Return List of Own Instances?

我有一个关于 Java 编码风格的问题。

我编码:

public class Pattern {
    public Pattern(...) { ... }

    public static List<Pattern> generatePatterns( ... ) { ... }
}

由于class个实例不包含静态函数我认为没有问题,但是,从内部静态生成一个自己的实例列表感觉很尴尬...?

你怎么看?

一般来说,static可以看作是好的OO设计中的异常。意思是:你在使用它时要小心,因为它会导致你的 类 的直接耦合,杀死多态性并导致难以测试的代码。

但有时候,静态方法是可以的;例如具有特定的 "generator" 方法。想想 Optionals.of() 或 Collections 中的各种方法。

从这个角度来看,你的例子似乎没问题。但我们无法告诉您,您对该方法的实现是否使它成为静态从长远来看是有益的。