“统一”三层架构和使用方式
大家都比较喜欢使用三层架构,不过好多都是“贫血”的三层,并没有发挥它的真正作用。今天项目中使用到了三层,发现一个结构图画的非常好就把它翻译了下,重绘了一边,并介绍下怎样使用。相信大家对这个架构图都比较熟悉。
使用方式:1、UI层展示和获取数据,将数据通过Entity实体类传递到BL层。2、在BL层,将业务处理单元写成函数,并将其封装在BusinessFunction中,然后被BusinessFlow调用进行业务处理。当然“BusinessFunction”和“BusinessFlow”可以合起来。3、BLL和RAL之间的数据交互,依然使用Model数据模型。4、DAL数据库访问层,完成系统和数据库间的交互。ORM把数据库中的关系数据转换为对象,Relation完成ORM无法完成的关系数据的访问。DB Adapter,使用数据库工厂模式屏蔽掉数据库差别,实现数据库兼容。5、ConfigAccess实现WebConfig等配置文件的访问。6、ServiceAccess实现外部系统Webservice的调用。7、BEM协调控制从DAL、ConfigAcess、ServiceAccess获得的资源,提供给BLL使用。8、Security对整个系统提供安全支持,例如票据身份认证。9、ErrorHandling对整个系统提供异常、错误处理机制,统一处理方法。比如,自定义异常错误处理页面。10、Log记录系统业务处理日志。11、ServiceInterfice对外发布Webservice。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
· Pantheons:用 TypeScript 打造主流大模型对话的一站式集成库