请不要将此作为一个愚蠢的问题。这对某些人来说似乎非常明显,但对我来说并非如此。
我正在开发一个非常非常大的代码库。
我在很多课程中不断看到这种模式:
public class myClass {
public myClass[] doGetMyClassList(final String someParam) {
// some code
}
}
该类包含一个返回数组或其自身列表的方法。
这有名字吗?我想知道这是否属于某种编程习惯。
答案 0 :(得分:2)
虽然我找不到明确的设计模式或定义良好的界面。我在这里找到了一个平行的
同一类对象相关的任何其他用例也可以是并行的。 ex:带有friends方法的Person类,它返回一个Person对象数组。
泛型作为一种编程结构是表达这些关系的一个很好的工具(即方法)。自我约束的泛型是可行的,并且常见于许多地方:
import java.util.Arrays;
public class Grade < T extends Grade >{
private static final int MAX = 5 ;
private int grade;
public Grade(int grade) {
this.grade = grade;
}
public T[] getGradesBelow() {
Grade[] lower = new Grade[this.grade];
for (int i = 0; i < this.grade; i++) {
lower[i] = new Grade(i);
}
return (T[]) lower;
}
public String toString(){
return grade + "";
}
public static void main(String[] args){
Grade grade = new Grade(Grade.MAX);
System.out.println(Arrays.toString(grade.getGradesBelow()));
}
}
答案 1 :(得分:2)
单独的类型签名不会告诉您它是什么模式,您还需要知道它与之合作以及如何使用它。
似乎它可能正在尝试执行the repository pattern,其中存储库类根据传入的参数获取其他类的集合。但是,您通常会将存储库设置为与类不同的类正在为你取材。当类只返回它自己的类型时,很难切换到另一个存储库进行测试或其他原因。