[img]http://dl.iteye.com/upload/attachment/0067/0618/e6254a97-1b02-3b65-9bde-063dd8f4e005.jpg[/img]
这个BaseDAO指的是什么类啊,看不懂,这个是购物车的图
首先你需要明白什么是DAO(Database Access Object),你给的图是一个标准的UML类图,BookDAO继承自BaseDAO并且实现了IBookDAO。
BaseDAO实现了所有DAO应该实现的功能,比如获取数据库的连接,获取简单的查询等。IBookDAO是具体业务应该实现的接口。也许你觉得很复杂,BaseDAO的存在可以理解,但为什么要有IBookDAO呢?确实,这个接口可以没有,但是违背了面向接口编程的原则。
不知道这么说,你能理解不?
BookDAO extends BaseDAO implements IBookDAO
名字起得不好啊
BookDAOImpl extends BaseDAO implements BookDAO
这样多舒服
接口的作用是方便替换DAO层,方便代理,AOP控制,当然没有接口,Cglib也可以实现代理类