【发布时间】:2011-01-25 16:04:53
【问题描述】:
我正在我的系统中创建域模型。在设计我的模型对象时,我应该为每个实体对象制作接口吗?人们告诉我,我们的 Web 层不应该关心实体的实现,我们应该能够交换实现,但我不确定这是否会发生。
例如,如果我们有一个教师类维护一个学生列表,那么 getStudents 方法可以是:
public List<Student> getStudents() {
return this.students;
}
或者这个:
public List<Student> getStudents() {
return someExternalService.retrieveStudents();
}
我了解这种好处,但一般做法是什么?
【问题讨论】:
-
“一般实践”不一定等同于“良好实践”,尤其是在 OO 设计方面:)
-
我不明白你的例子。您的问题是教师应该实现某个接口,还是通过接口使用依赖项?对于这两种情况,我有不同的答案。你的文字让我觉得你在想前者,但这个例子让我觉得你想要后者。这是什么?
-
Martinho,我的问题是 Teacher 是否应该实现一个接口并生成 TeacherImpl 类。
-
但您的示例似乎是在问“教师应该保存数据还是只调用其他类?”
标签: java oop interface modeling