Я создаю модель домена в своей системе. При проектировании объектов модели я должен создавать интерфейсы для каждого объекта объекта? Люди сказали мне, что наш веб-уровень не должен заботиться о реализации сущности, и мы должны иметь возможность менять реализации, но я не уверен, что это произойдет.
Например, если у нас есть класс Учителя, который поддерживает список студентов, метод getStudents может быть:
public List<Student> getStudents() {
return this.students;
}
или это:
public List<Student> getStudents() {
return someExternalService.retrieveStudents();
}
Я понимаю это преимущество, но какова общая практика?