OO之接口-DAO模式代码阅读及应用
1. StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?
答:前者是通过链表来实现学生管理系统,而后者是使用数组来实现。
2. StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?
答:该文件内定义了学生管理系统的一些基本的业务逻辑,即定义了方法的签名。也就是说接口给出了类的应该具有的公共不可变的属性和功能(方法),即接口只规定了类应该具有哪些功能,具体的功能要在实现它的类中实现。接口就是面向对象中的抽象。它规定了有哪些功能,实现它的类必须实现接口中所有方法,否则会编译不过。
3. 使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解。
①DAO (DataAccessobjects 数据存取对象)是指位于业务逻辑和持久化数据之间实现对持久化数据的访问。通俗来讲,就是将数据库操作都封装起来。
理解:例如学生管理系统,学生管理系统中有多种功能,比如查找学生、添加学生、展示所有学生的姓名年龄等等,这些都属于该系统的业务逻辑,通过这些方法来实现对持久化数据,即存储数据的访问和操作,而DAO模式则是把这些方法封装在一起。
②它们实质上是无状态的。唯一的目的是访问并更改业务对象的持久数据。
理解:在DAO模式下,一切数据访问都直接被抽象化,它将数据访问和业务逻辑代码隔离开,降低了代码的耦合性,提高了代码的扩展性,即我们若需要对代码进行加工或修改,只需要编写业务逻辑层的代码即可。
4. 尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?
数组:
链表:
DAO模式的优点:
①只需要简单的操作就可以实现使用不同存储方式对系统的实现形式。
②DAO模式将业务逻辑层和数据处理层分开,例如对于一个较大的工程需要建立功能全面的系统时,使用DAO模式可以使代码分工明确,方便后期的维护和修改。
5.可选:编写一些使用DAO模式的代码。比如使用文件作为购物车存储底层。
To be continued……