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

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

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

 

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

 

posted @   最后的鲨掉  阅读(122)  评论(0编辑  收藏  举报
编辑推荐:
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
点击右上角即可分享
微信分享提示