將DAO的某些部分委託給另一個DAO會更好嗎,以便它更具可讀性和緊湊性?以及更少的重複代碼?數據訪問對象(DAO)是否應將其委託給其他DAO以提高可讀性?
例
class StudentDAOImpl implements StudentDAO {
public Student findById(int studentId) {
// some code here to get student
}
}
class SemesterEnrollmentImpl implements SemesterEnrollmentDAO {
public SemesterEnrollment findSemesterEnrollmentByStudent(int studentId) {
// delegating finding of student to StudentDAO
StudentDAO studentDao = new StudentDaoImpl();
Student student = studentDAO.findById(studentId);
// code to get SemesterEnrollment using student instance
}
}
因爲我讀到的DAO應:
- 的N + 1個問題。
- 最小化SQL調用次數。
- DAO不應委託給其他DAO。
這是否意味着我必須在每個DAO中重複相同的過程,而不是委託它,因此它將獨立於其他DAO?
加上我的DAO,DAO應該可以在各種用例之間重複使用,服務方法應該實現個別的細節級用例。 –