java 代码分层

JAVA代码层次; 阿里推荐:

 

 

 

 

开放接口层:可直接封装 Service 方法暴露成 RPC 接口;通过 Web 封装成 http 接口;进行 网关安全控制、流量控制等。
终端显示层:各个端的模板渲染并执行显示的层。当前主要是 velocity 渲染,JS 渲染, JSP 渲染,移动端展示等Web 层:主要是对访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理等。

Service 层:相对具体的业务逻辑服务层。

Manager 层:通用业务处理层,它有如下特征:1. 对第三方平台封装的层,预处理返回结果及转化异常信息;2. 对Service层通用能力的下沉,如缓存方案、中间件通用处理;3. 与DAO层交互,对多个DAO的组合复用。 

DAO 层:数据访问层,与底层 MySQL、Oracle、Hbase 进行数据交互。
阿里巴巴规约中的分层比较清晰简单明了,但是描述得还是过于简单了,以及service层和manager层有很多同学还是有点分不清楚之间的关系,就导致了很多项目中根本没有Manager层的存在

 

阿里巴巴编码规约中列举了下面几个领域模型规约: 

    • DO(Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。 
    • DTO(Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。 
    • BO(Business Object):业务对象。由Service层输出的封装业务逻辑的对象。 
    • AO(Application Object):应用对象。在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。 
    • VO(View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。 
    • Query:数据查询对象,各层接收上层的查询请求。注意超过2个参数的查询封装,禁止使用Map类来传输。

 

posted on 2020-10-19 11:05  深圳私塾  阅读(258)  评论(0编辑  收藏  举报

导航