三层结构与MVC类似都是为了解耦合和提高代码复用,但是其对项目的理解角度不同。
三层组成
1.表示层(USL:User Show Layer)
a.前台:对应MVC中的View(视图),用于和用户交互与界面的显示
b.后台:对应于MVC中的Controller(控制器),用于控制跳转与调用业务逻辑层
2.业务逻辑层(BLL:Bsness Logic Layer)
相当于MVC中的Model(模型)中的封装业务逻辑的JavaBean。
a.接受表示层的请求,调用
b.组装数据访问层,逻辑性的操作(增删改查,例如:删=查+删)
3.数据访问层(DAL:Data Access Layer)
相当于MVC中的Model(模型)中的封装数据的JavaBean。
直接访问数库的操作,原子性操作,不可再分(增删改查)。
三层间的关系
三层中有上层请求传递给下层,下层处理后返回给上层;上层依赖于下层。
DAO设计模式
DAO设计模式仅对三层设计模式上加入最开始的客户层和最后的资源层(数据库),其实质上代码中并不需要直接操作这两层。
DAO组成部分
DatabaseConnection:专门负责数据库的打开与关闭操作的类;
VO:主要由属性、setter、getter方法组成,VO类中的属性与表中的字段相对应,每一个VO类的对象都表示表中的每一条记录;
DAO:主要定义操作的接口,定义一系列数据库的原子性操作,例如:增加、修改、删除、按ID查询等;
Impl:DAO接口的真实实现类,完成具体的数据库操作,但是不负责数据库的打开和关闭;
Proxy:代理实现类,主要完成数据库的打开和关闭并且调用真实实现类对象的操作;
Factory:工厂类,通过工厂类取得一个DAO的实例化对象。