通用.Net平台系统框架剖析与设计(简单概括)
Powered by 记得忘记 2006-7-20原稿 修改于7-21
1、分层开发思想
软件要分层,其实总结一句话,是为了实现“高内聚、低耦合”。采用“分而治之”的思想,把问题划分开来各个解决,易于控制,易于延展,易于分配资源。
首先,谈一下什么是三层架构,所谓的三层开发就是将整个业务应用划分为表示层-业务逻辑层―数据访问层-数据库等,有的还要细一些,明确地将客户端的表示层、业务逻辑访问、和数据访问及数据库访问划分出来,十分有利于系统的开发,维护、部署和扩展。
我们知道,对于典型的三层应用系统来说,通常可以把系统分成以下三个层次:
· 数据库层
· 用户界面层
· 应用服务层 (数据实体层、实体控制层、数据访问层、业务规则层和业务外观层)
将系统划分成这么多层次,其好处是能够使得系统的架构更加清晰,这样每个层次完成的功能就比较单一,功能的代码有规律可循,也就意味着我们可以开发一些工具来生成这些代码,从而减少代码编写的工作量,使得开发人员可以将更多的精力放到业务逻辑的处理上。正是基于这个想法,我们同时开发了针对这个框架的开发工具,并在实际工作中减少很多代码的编写量,效果非常好。同时,为了应用服务层更好的工作,我们可以利用代码生成工具生成其中的数据实体层、实体控制层等(可以理解成中间件)。
2.具体设计
1)数据实体层(DataModel),即数据的表示方式、也就是通常的O-R Map的问题。通常的做法是将程序中的类映射到数据库的一个或多个表。可以使用Builder和Factory的设计模式、实体类定义XML文件可以通过工具来自动生成,减轻开发工作量
2)实体控制层 数据的存取方式,用于控制数据的基本操作,如增加、修改、删除、查询等,同时为业务规则层提供数据服务。
3)数据访问层(DataAccessLayer) 提供对数据库的访问,封装ADO.Net
· 连接数据库
· 执行数据库操作
· 查询数据库,返回结果
· 维护数据库连接缓存
· 数据库事务调用
4)业务规则层 业务逻辑的组织方式
各种业务规则和逻辑的实现
5)业务外观层 业务服务的提供方式
业务外观层为 Web 层提供处理、浏览和操作的界面。业务外观层用作隔离层,它将用户界面与各种业务功能的实现隔离开来。
业务外观层只是将已经完成的系统功能,根据各个模块的需要,对业务规则进行高层次的封装。
整个系统的结构图如下:

【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· [AI/GPT/综述] AI Agent的设计模式综述