C#.Net快速开发框架 - ORM ,BLL,DAL三者关系
C#.Net快速开发框架 - ORM ,BLL,DAL三者关系
ORM (Object/Relation Mapping) 对象关系映射 BLL (Business Logic Layer) 业务逻辑层 DAL (Data Access Layer) 数据存取层(数据访问层/数据层) ORM在开发框架中的作用: CSFramework.ORM主要目的是给SQL命令生成器自动生成SQL命令(DbCommand),用于自动提交数据。将数据表结构映射为C#类,每个字段在类中定义为字符类型常量,在DAL层,以数据表+字段名称组合SQL语句,使用类的常量来规范代码的严谨性。 比如: C# Code: /// 获取所有用户列表 /// </summary> /// <returns></returns> public DataTable GetUsers() { string sql = "SELECT * FROM [" + TUser.TableName + "]"; //引用用户表的表名 return DataProvider.Instance.GetTable(sql, TUser.TableName); } 为什么不使用以下写法?
这种写法的目的是一致的,若系统中多个单元使用这张数据表时,如果把这些字段或表名“写死”,当某天更改了字段或表名,是不是要搜索整个解决方案然后替换? 关于UI, BLL,DAL逻辑分层 BLL和DAL,这是系统分层后的必然结果,分层有若干好处,特别是易于维护和扩展。CSFramework框架分离了DAL层,若要更换不同类型的数据库,如Oracle,修改DAL层即可。 若不分层,按钮Click事件直接SQL硬编码的话,您想重构吗? BLL层能有效分离窗体中冗余的代码和业务逻辑,把窗体(UI层)的代码“搬”进BLL。 参考按钮事件写法: C# Code: private void OnGetData_ButtonClick(object sender, ButtonPressedEventArgs e) { DataTable data= _MyBLL.GetBusinessByKey("PONO00001");
} ORM,BLL,DAL三者关系图 上面介绍了ORM,BLL以及业务逻辑分层在开发框架中起到的作用,ORM,BLL,DAL三者关系图: ClassGenerator自动生成的ORM代码: using System; using System.Collections.Generic; using System.Text; using System.Data; using CSFramework.ORM; namespace CSFramework3.Models { /*========================================== * 程序说明: tb_PayType的ORM模型 * 作者姓名: C/S框架网 www.csframework.com * 创建日期: 2011-04-05 12:45:33 * 最后修改: 2011-04-05 12:45:33 * * 注: 本代码由ClassGenerator自动生成 * 版权所有 C/S框架网 www.csframework.com *==========================================*/ ///<summary> /// ORM模型, 数据表:tb_PayType,由ClassGenerator自动生成 /// </summary> [ORM_ObjectClassAttribute("tb_PayType", "PayType", true)] public sealed class tb_PayType { public static string __TableName ="tb_PayType"; public static string __KeyName = "PayType"; [ORM_FieldAttribute(SqlDbType.Int,4,false,false,false,false,false)] public static string isid = "isid"; [ORM_FieldAttribute(SqlDbType.VarChar,10,false,true,true,false,false)] public static string PayType = "PayType"; [ORM_FieldAttribute(SqlDbType.NVarChar,40,false,true,false,false,false)] public static string TypeName = "TypeName"; } } // 来源:www.CSFramework.com, C/S框架网 扫一扫加微信
参考文档:
基于C#.NET C/S快速开发框架 - 代码自动生成功能 C#.Net C/S快速开发框架V2.2版本介绍 C#.Net CS快速开发框架- 新增业务模块(视频下载) 原创.NET快速开发框架|C/S框架网 C#.Net快速开发平台|Winform快速开发平台介绍 C#.NET快速开发框架 CSFramework.NET快速开发框架演示视频下载|试用版源码下载 关于C/S框架网C#.NET快速开发框架现场培训 .NET快速开发框架 | .NET快速开发平台与配置平台介绍 企业级开发架构.NET快速开发框架-C/S框架网 C#.NET快速开发框架成功案例-港口散杂货管理系统,港口管理信息系统MIS .NET快速开发框架 - 常见快速软件开发平台和开发工具 主流前端开发框架都有哪些?Winform .NET快速开发框架 C#.NET快速开发框架平台基于DevExpress表格加载大数据性能测试报告 数据库信息管理开发平台 - C/S结构+Winform+ADO.NET快速开发框架
其它资料:
什么是C/S结构? | C/S框架核心组成部分 | C/S框架-WebService部署图 | C/S框架-权限管理 | C/S结构系统框架 - 5.1旗舰版介绍 | C/S结构系统框架 - 功能介绍 | C/S结构系统框架 - 产品列表 | C/S结构系统框架 - 应用展示(图) | 三层体系架构详解 | C/S架构轻量级快速开发框架 | C/S框架网客户案例 | WebApi快速开发框架 | C/S框架代码生成器 | 用户授权注册软件系统 | 版本自动升级软件 | 数据库底层应用框架 | CSFramework.CMS内容管理系统 | |