三层组成
表示层(USL,User Show Layer :视图层)
- 前台:对应于MVC中的View 等用于和用户交互、界面的显示jsp .js. htmlcss jquery 等web前端技术,代码位置:WebContent
- 后台:对用子Mvc中Controller,用于控制跳转、调用业务逻辑层,Servlet (SpringMVcStruts2) ,位于xxx.servlet包中
业务逻辑层(BLL,Business. Logic Layer : Service层)
- 接收表示层的请求调用
- 组装数据访问层,逻辑性的操作(增删改查﹐删:查+删),一般位子xxx.Sservice包(也可以成为:xxx.manager"",xx.bll)
- 数据访问层(DAL, Data. Access. Layer; Dao层)
一直接访问数据库的操作,原子性的操作(增删改查)一股位于“xxx.dao包
三层与MVC的对应
三层之间的关系(表示层、业务逻辑层、数据访问层)
上层:将请求关系传递给下层,下层处理后,返回给上层
上层依赖于下层,依赖:代码的理解就是持有成员变量 或者理解为:有A的前提必须先有B
Servlet:一个Service对应一个功能
三层优化
- 加入接口
建议面向接口开发;先接口再实现类
接口与实现类命名 规范:
接口:interface 起名 Ixxx(实体类)Service
实现类:implements 起名 xxx(实体类)ServiceImpl
以后使用接口/实现类时。推荐写法:
接口 x = new 实现类;
例:IStudentDao studentDao = new StudentDaoImpl;
-
DBUtil
通用的数据库帮助类,可以简化Dao层的代码量 -
方法重构
将多个方法的共同代码提炼出来,单独写在一个方法中