应用分层

1.分层如下

  1)开放接口层:可以直接封装Service接口暴露成RPC;通过web封装成http接口;网关控制层等。

  2)终端显示层:各个端的模板渲染并执行显示层。

  3)Web层:主要是度访问控制进行转发,各类基本参数校验,或者不复用的业务简单处理。

  4)Service层:对具体的业务逻辑进行处理。

  5)Manager层:通用业务处理层

    1️⃣ 对三方库的接口,预处理返回结果及转化异常信息;

    2️⃣ 对Service层通用能力的下沉,如缓存方案、中间件通用处理;

    3️⃣ 与DAO层交互,对DAO的业务通用能力的封装。

  6)DAO层:数据库访问层。

  7)外部接口或者第三方平台:包括其他部门RPC开放接口,基础平台,其他公司的http接口。

2.Service层要细粒度的对异常信息进行日志打印,Manager层可以throw new ManagerException()的方式向Service层抛出异常而不打印日志。

3.分层领域模型规约:

  • DO(Data Object):与数据库表一一对应,通过DAO层向上传递数据对象。
  • DTO(Data Transfer Object):数据传输对象,Service和Manager向外传输的对象。
  • BO(Business Object):业务对象,可以由Service层输出的封装业务逻辑的对象。
  • QUERY:数据查询对象,各层接受上层的查询请求,超过2个参数的查询必须封装,禁止使用Map类来传输
  • VO(View Object):显示层对象,通常是Web向模板渲染引擎层传递的对象。 

二方库规约

1.二方库版本号(Version)命名方式:主版本号.次版本号.修订号

  1)主版本号:当做了不兼容的API修改或者增加了能改变产品方向的新功能。

  2)次版本号:当做了向下兼容的功能性新增。

  3)修订号:修复bug,没有修改方法签名的功能增强,保持API兼容性。

服务器规约

1.服务器内部重定向必须使用forward;外部重定向地址必须使用URL Broker生成。

安全规约

1.可以被用户访问的功能必须做权限控制,shiro。

2.用户敏感数据禁止直接显示,必须对展示数据脱敏。

3.用户请求传入的任何数据必须做有效性验证。

  

最新文章

  1. 人类大脑只开发了10%? I don't think so.
  2. js 增删改查方法
  3. 说说JSON和JSONP,也许你会豁然开朗
  4. 在IIS上部署SSL
  5. Unity5.x版本AssetBundle打包研究
  6. python 使用openpyxl来写数据到excel表格
  7. 如何在Hadoop的MapReduce程序中处理JSON文件
  8. python django第一天
  9. qtp不识别树结构中的点击事件
  10. Hadoop HDFS (3) JAVA訪问HDFS
  11. mongodb备份
  12. Tomcat源码分析(一)
  13. maridb\mysql 源码安装,以10.1.26版本为例
  14. Protobuf-java maven配置
  15. java-vip介绍
  16. TCP/UDP 协议,和 HTTP、FTP、SMTP,区别及应用场景
  17. field, or, more generally, in a ring or even a semiring 数域、环、半环
  18. zkw线段树模板题
  19. 【Linux 线程】线程同步《三》
  20. SpringBoot -- 事件(Application Event)

热门文章

  1. Linux 之 服务以及进程
  2. Java后端WebSocket的Tomcat实现 html5 WebSocket 实时聊天
  3. AC日记——[HAOI2015]树上操作 洛谷 P3178
  4. Web前端入门知识
  5. TCP11种状态
  6. 【webpack2】-- 入门与解析
  7. python中 urllib, urllib2, httplib, httplib2 几个库的区别
  8. 【Todo】Tomcat与Jetty的比较 以及Tomcat架构的学习
  9. PriorityQueue ,ArrayList , 数组排序
  10. 初涉IPC,了解AIDL的工作原理及用法