参考阿里规范,优秀的 Java 项目代码该如何分层?
相关阅读:杭州程序员从互联网跳央企,晒一天工作和收入,网友:待一年就废
来源:https://www.cnblogs.com/bainannan/p/14418277.html
1.背景
2.如何进行分层
2.1阿里规范
在阿里的编码规范中约束的分层如下:
2.2优化分层
4.DAO:数据库访问层。主要负责“操作数据库的某张表,映射到某个java对象”,dao应该只允许自己的Service访问,其他Service要访问我的数据必须通过对应的Service。
3.分层领域模型的转换
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类来传输。
允许Service/Manager可以操作数据领域模型,对于这个层级来说,本来自己做的工作也是做的是业务逻辑处理和数据组装。 Controller/TService层的领域模型不允许传入DAO层,这样就不符合职责划分了。 同理,不允许DAO层的数据传入到Controller/TService.
4.总结
评论