这种设计模式是否仅适用于一个界面,因为我能找到的只是谈论由类实现的接口?
像网站一样 http://www.tutorialspoint.com/design_pattern/data_access_object_pattern.htm如果我有很多接口,设计模式可以使用,类图是谁?
谢谢。
答案 0 :(得分:0)
实际上,设计模式只为您提供解决方案和抽象,而不是限制您使用某些具体实现。您可以使用最适合您的逻辑,并自由组合部件以实现您的目标。
关于
此设计模式是否仅适用于一个界面
您可以考虑使用SOLID原则之一 - Interface_segregation并仍然重复使用DAO模式。
希望这会对你有所帮助。
答案 1 :(得分:0)
界面的使用是隐藏实现细节,对于这个简单的界面,StudentDao可以创建/更新/读取/删除Student,用户不必知道如何实现这些功能。 对于一个mysql数据库,也许我有一个MysqlStudentDao,对于一个oracle数据库,我可以实现一个OracleStudentDao,有一天,如果我想使用lucene,我甚至可以拥有一个LuceneStudentDao;但对于用户来说,它只需要知道,我使用的是具有以下功能的StudentDao:
public List<Student> getAllStudents();
public Student getStudent(int rollNo);
public void updateStudent(Student student);
public void deleteStudent(Student student);