Tôi đang tạo mô hình miền trong hệ thống của mình. Khi thiết kế các đối tượng mô hình của tôi, tôi có nên tạo giao diện cho từng đối tượng thực thể không? Mọi người đã nói với tôi rằng tầng web của chúng tôi không nên quan tâm đến việc thực hiện một thực thể và chúng tôi có thể trao đổi các triển khai, nhưng tôi không chắc chắn điều đó sẽ xảy ra.Các đối tượng mô hình có giao diện không?
Ví dụ, nếu chúng ta có một lớp giáo viên duy trì một danh sách của sinh viên, phương pháp getStudents có thể thể là:
public List<Student> getStudents() {
return this.students;
}
hay này:
public List<Student> getStudents() {
return someExternalService.retrieveStudents();
}
Tôi hiểu lợi ích này, nhưng thực hành chung là gì?
"thực hành chung" không nhất thiết phải giống như "thực hành tốt", đặc biệt là khi nói đến thiết kế OO :) – skaffman
Tôi không nhận được ví dụ của bạn. Câu hỏi của bạn là liệu Giáo viên có nên thực hiện một số giao diện hoặc sử dụng sự phụ thuộc thông qua giao diện không? Tôi có những câu trả lời khác nhau cho hai trường hợp này. Văn bản của bạn làm cho tôi nghĩ rằng bạn đang suy nghĩ trước đây, nhưng ví dụ làm cho tôi nghĩ rằng bạn muốn sau này. Nó là gì? –
Martinho, câu hỏi của tôi là liệu Giáo viên có nên thực hiện một giao diện và có các lớp TeacherImpl kết quả không. – sma