中级框架分层设计——从数据开始
我一直思考框架设计该如何简单,如何降低开发者难度,最后想出了相处了一个比较满意的框架设计。
框架大致分为 前端UI -后端API-数据库:
前端UI和后端API通过DTO 模型交互
后端API和数据库通过ORM 模型交互
数据库以及ORM模型之间的关系:
鉴于项目可能复用多个数据库,后端工程师可能需要掌握多种数据库SQL语句以及对应SQL语句优化,加大开发难度。
鉴于SQL语句掌握能力和SQL语句优化能力,我的觉得框架应该使用ORM技术 把 数据表拆解成ORM模型,模型与模型之间无关联。
我们在代码里面获取单表ORM模型,然后组装成前台需要的DTO模型。
这个想法取决于DDD领域聚合思想,为了降低领域开发模式,把每个单表看成聚合根。
这样有一下几个好处:
- 执行效率 前端语言的执行效率,和数据库语言执行效率,都没有后端执行效率高
- 优化难度 前端>数据库>后端
- 问题复杂 问题高度内聚在后端,方便调试以及跟踪
- 开发难度 开发人员只需要掌握对应开发语言,专注代码逻辑和代码优化
前端UI获取的DTO模型和后端API获取的ORM 模型之间的关系:
从数据库获取ORM 模型 可以直接通过Map 直接转为简单DTO模型,然后简单DTO模型通过代码组装成 复杂DTO模型 传输给前端UI,完成DTO模型复用。
这个框架思路 不是为了阿里腾讯构思,只为中小级公司构思,简化问题流程,加快开发。
我不是代码的生产者,只是代码的搬运工
浙公网安备 33010602011771号