开发新需求(踩过的一些坑)
依赖冲突
- 本次引入新包依赖的时候,一定要考虑依赖冲突的问题,如hive
类定义
类定义一旦确定,后面不要随意动命名/大小写,远端可能会有路径缓存,引发新问题
接口协议
不要在联调阶段改接口协议!
-
联调阶段改,对下游的阶段成本非常高
-
有一些下划线往驼峰命名上转的一些包可以用,以后用这种,不要擅自改接口协议
-
本质还是对java生态不熟导致的,不要改set和get方法
类的规范
类定义位置:domain文件夹下
TypeDoc:类说明
FieldDoc:字段说明
implements serializable:一定要实现这个接口类
类重名的话,不要版本号都写成1,太不规范了
数据库的规范
方法声明:放在newdao或dao文件夹下
结构体定义:放在PO文件夹下,PO上面贴一下具体的SQL
具体的方法实现:放在mapper.xml里
DO、PO
DO是数据层要用的实体
PO是数据库本身的实体,加工一下
DO = 数据库映射,字段与表结构对应
-
Bean/DTO = 业务数据传输,字段根据业务需求定义
-
VO = 视图对象,用于前端展示
-
Query = 查询条件封装
DDD设计
1. 网关层 表示层
2. 应用层application(handler层)
3. 领域层domain(service层 内部service 一般不定义interface)
4. 基础设施层infrustructure(north实现api接口impl的地方,被上游调,south是domain定义的repository在infrustructure层实现,调下游)
5. 仓储层dao层(dao层)
接口相关
jar包
类似scm编译镜像/overpass,只有api仓库里的定义变更了,才需要重新打jar包
参数类型
包装类型,基础类型才有默认值,包装类型没有默认值
所以一般的做法是,先赋一个值,后面如果调通依赖(比如数据库)了,再覆盖,改一下