互评-OO之接口-DAO模式代码阅读及应用
1. StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?
StudenDaoListImpl与StudentDaoArrayImpl各自的私有属性不同,实现过程也不同,StudenDaoListImpl是用ArrayList实现存放学生类对象,而StudentDaoArrayImpl是用学生类型数组来存放学生类对象。
2. StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?
StudentDao是一个接口,创建的这个studentDao对象可以用StudentDaoImpl类的无参构造器创建,而类型是StudentDao;因为接口中的方法在其他类中实现。
3. 使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解。
DAO(Data Access Object)顾名思义是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。在实际的开发中,应该将所有对数据源的访问操作进行抽象化后封装在一个公共API中。
理解:提供给用户的接口只有DAO的接口,所以如果用户想添加数据,只需要调用create函数即可,不需要数据库的操作。
4. 尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?
(1)使用数组实现的代码及运行结果
运行结果:
(2)使用列表实现代码及运行结果
运行结果:
DAO模式的好处:
(1)DAO使程序层次分明,把对数据库的操作都放在这一层,这样其他层的逻辑控制就变得清晰明了了。
(2)对于实现业务逻辑而言,DAO层是基石。
(3)而且分层后DAO的代码维护与变更等也变得清晰可理解。