一、分层结构
1-开放接口层
可以直接封装service方法暴露成RPC接口
2-终端显示层
各个端的模板渲染并执行显示,js渲染、jsp渲染、移动端渲染。
3-web层
对访问控制进行转发,参数校验,轻业务逻辑,异常兜底。
4-service层
具体的业务逻辑服务处理
5-manager通用处理层
· 对第三方平台的封装,预处理返回结果及转化异常信息。
· 对service层通用能力的下沉,缓存方案、中间件通用处理。
· 多个DAP的组合复用
6-dao层
数据访问,与底层数据库进行交互。只允许自己的service访问。

二、模型转换
1-DO(Data Object)
与数据库表结构一一对应,通过DAO层向上传输数据源对象。
2-DTO(Data Transfer Object)
数据传输对象,Service或Manager向外传输的对象。
3-BO(Business Object)
业务对象,由Service层输出的封装业务逻辑的对象。
4-AO(Application Object)
应用对象,web层与Service层之间抽象的复用对象模型。
5-VO(View Obje)
显示层对象,Web层向模板引擎层传输的对象。
6-Query
数据查询对象,各层接收上层的查询请求。超过2个参数的查询封装,禁止使用Map来传输
三、折中方案
- Controller和Service之间利用VO
- Service和DAO之间利用DO
网友评论