1.项目划分
项目纬度总体划分主要是分为:
api包:
其内部包括:bean包、exception包、api包
exception包:主要是包括异常码、对外的异常code。个人认为整个项目、甚至整个部门都公用一套异常码。至少基础的异常码是相同的。
异常码的定义可以设计为:基础异常码+业务异常码
common 包:
主要是通用的功能。一般有:缓存包、异常包、json包、kafka、邮箱、通知、基础的工具包。为整个业务服务。
feedback 包:
主要是项目服务,未必是对外暴露接口,类似与一个服务组件。包内的分类方式可以参考下面方式
service/web:
对外提供相关接口,http请求。包内的分类方式可以参考下面方式
项目的API层:主要是对外提供的API接口
web层:
contentAudit/dataset/accesspoint/employee是业务逻辑层。
facade是门面,各个业务具体的实现过程。
filter:进入系统前进行过滤操作,入一些权限认证操作
aop:aop请求日志/权限等操作
common常用的公共业务处理类
util 基础公共方法
constant:常量
enums:枚举
mafka:mafka相关的操作
service层:
aspect:aop请求日志/权限等操作
config:引入包的bean
inteface:接口对象
impl:接口入口
utils:工具类(业务和常用的)