重构,改善既有代码的设计(实战篇)_张云瀚的博客-CSDN博客_重构改善既有代码的设计
令人迷惑的VO/BO/DTO
出自阿里巴巴的分层领域模型规约
- DO( Data Object):与数据库表结构一一对应,通过DAO层向上传输数据源对象。
- DTO( Data Transfer Object):数据传输对象,Service或Manager向外传输的对象。
- BO( Business Object):业务对象。 由Service层输出的封装业务逻辑的对象。
- AO( Application Object):应用对象。 在Web层与Service层之间抽象的复用对象模型,极为贴近展示层,复用度不高。
- VO( View Object):显示层对象,通常是Web向模板渲染引擎层传输的对象。
- POJO( Plain Ordinary Java Object):POJO专指只有setter/getter/toString的简单类,包括DO/DTO/BO/VO等。
- Query:数据查询对象,各层接收上层的查询请求。 注意超过2个参数的查询封装,禁止使用Map类来传输。
领域模型命名规约:
- 数据对象:xxxDO,xxx即为数据表名。
- 数据传输对象:xxxDTO,xxx为业务领域相关的名称。
- 展示对象:xxxVO,xxx一般为网页名称。
- POJO是DO/DTO/BO/VO的统称,禁止命名成xxxPOJO。
commit代码的格式
(type)subject如:(fix)404 页面跳转不正确
feat: 新功能,新特性(feature)
fix: 修复bug
docs: 文档(documentation)
style: 代码格式修改(比较小的代码变动, 功能保持不变)
test: 测试用例修改,或增加测试代码
refactor:代码重构,内部处理逻辑/算法逻辑发生较大改变.(即不是新增功能,也不是修改bug的代码变动)
chore: 构建过程或辅助工具的变动, 比如构建流程, 依赖管理等.(无法判断的提交推荐用这个)