对于基于前后台分离的JAVA项目,除了前端展示层页面,很多人都知道conttroller,service,dao三层,大部分都是按照这个方法搭建的。由于人员参差不齐,看到有人将在controler层编写了大量的逻辑代码甚至引用了Dao层的对象,或者controllor层接受JsonObject的对象一股脑的推给service层处理。
下面参考阿里的结构图,给大家介绍一下如何分层,以及各层的领域模型命名方式。
Dao层:是数据交互层,如果是spring boot +mybatis的话,就是指Mapper.java接口和Mapper.xml构成,该层入口为查询参数,如果参数多于三个则增加QUERY对象,输出结果为DO
Manager层:则是对Dao层的加强,依赖于Dao层,但不直接操作数据库,可以通过对Dao层的结果进行组合,生成复杂的对象模型DTO。输入的话也是QUERY。另外Manger层还可以封装对三方平台的封装。
Service层:负责业务模块的逻辑应用设计,这一层还可以封装成RPC服务供三方