1. StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?
StudentDaoListlmpl.java是用列表实现StudentDao接口,StudentDaoArrayImpl.java是用数组实现StudentDao接口。它们的getstuByName中前者是用for(Student e:students),多用于列表。后者用的是for(int i=0; i<students.length;i++)。再者是列表可以直接使用add进行添加students.add(student)。而数组需要找到数组末尾的位置再插入。
2. StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?
定义接口,里面的是方法签名。Dao层也是数据访问层,是一个面向对象的数据库接口。在接口中我们知道,定义的是各个类共有的,是has-a的关系。我们只需要定义方法,也就是写入具体的方法签名。具体的实现是在类中实现的。
3.使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解。
是一个为数据库或其他持久化机制提供了抽象接口的对象,在不暴露底层持久化方案实现细节的前提下提供了各种数据访问操作。
就是建立一个接口,接口中定义了此应用程序中将会用到的所有事务方法。在这个应用程序中,当需要和数据源进行交互的时候则使用这个接口,并且编写一个单独的类来实现这个接口,在逻辑上该类对应一个特定的数据存储。就如文件中的List和Array两种形式来存储学生的信息。对于这两种存储方式我们使用了studentDao接口,然后在StudentDaoListlmpl.java和StudentDaoArrayImpl.java中分别进行实现。
4. 尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?




Dao模式的好处:
DAO模式将数据访问分为抽象层和实现层,分离了数据使用和数据访问的底层实现细节。这样可以在保持上层结构不变的情况下,通过更改底层实现来修改数据访问的机制,比如只要通过修改数据访问层实现,我们就可以部署在不同数据库平台上。就像文件中的List和Array的方式,只需修改类中的方法实现就可以在不同数据库平台上使用。不论是文件,数组还是列表等等。
OO之接口-DAO模式代码阅读及应用
原文:https://www.cnblogs.com/yyzhu/p/13872387.html