中级框架分层设计——从数据开始

我一直思考框架设计该如何简单,如何降低开发者难度,最后想出了相处了一个比较满意的框架设计。

框架大致分为   前端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模型复用。

 

这个框架思路 不是为了阿里腾讯构思,只为中小级公司构思,简化问题流程,加快开发。

 

你可能感兴趣的:(中级框架分层设计——从数据开始)