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