互评-OO之接口-DAO模式代码阅读及运用

一、StudenDaoListImpl.java与StudentDaoArrayImpl.java有何不同?

答:StudenDaoListImpl.java是通过列表实现,容量可变,在getStuByName中采用的是fore循环;而StudentDaoArrayImpl.java采用数组,大小一旦确定不能改变,在getStuByName中采用的是fori循环

二、 StudentDao.java文件是干什么用的?为什么里面什么实现代码都没有?、

答:设计StudentDao接口定义StudentDao方法;因为只是定义方法,具体的实现是在类中实现的

三、 使用搜索引擎搜索“Java DAO”,选出几句你能看懂的、对你最有启发的话。请结合接口知识去理解。

1、隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了藕合性,提高了可复用性。
2、隔离了不同数据库实现。采用面向接口编程,如果底层数据库变化,如由 MySQL 变成 Oracle 只要增加 DAO 接口的新实现类即可,原有 MySQ 实现不用修改。这符合 "开-闭" 原则。该原则降低了代码的藕合性,提高了代码扩展性和系统的可移植性。
理解:DAO面向接口编程,想要什么行为直接操作接口就行,可以新增代码来解决需求变化,不需要修改旧有既存的程序代码,拥有弹性和可维护性

四、 尝试运行Test.java。根据注释修改相应代码。结合参考代码回答使用DAO模式有什么好处?

数组实现:

列表实现:

答:a、隔离了数据访问代码和业务逻辑代码。业务逻辑代码直接调用DAO方法即可,完全感觉不到数据库表的存在。分工明确,数据访问层代码变化不影响业务逻辑代码,这符合单一职能原则,降低了藕合性,提高了可复用性。b、使用DAO模式往后台写数据,无需考虑后台是什么(到底是数据库、文件、数组、List),因为是面向接口编程。

五、可选:编写一些使用DAO模式的代码。比如使用文件作为购物车存储底层。

参考视频:5.4 案例:DAO模式

posted @ 2020-10-25 16:40  白祁  阅读(81)  评论(0编辑  收藏  举报