阿里 JAVA 开发手册 学习 4 工程规约
应用分层
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.用户请求传入的任何数据必须做有效性验证。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具