Winform三层架构教程,CS三层结构图及源码实例讲解
Winform三层架构教程,CS三层结构图及源码实例讲解
三层逻辑架构 (3-Tier Logic Architecture) C/S系统快速开发平台采用三层逻辑架构(3-Tier Architecture),由界面层(UI-User Interface Layer)、业务逻辑层(BLL-Business Logic Layer),数据访问层(DAL-Data Access Layer)三层组成。在软件体系架构设计中,分层次是最常见也是最重要的一种设计思路,目的是实现“高内聚,低耦合”设计思想。 所谓三层逻辑架构,是在客户端与数据库之间加入一个“中间层”,介于界面层与数据层中间部分的逻辑处理。通常用于处理界面的数据,如数据采集、数据合法性检验、基本数据运算,或界面组件生成、组件状态管理等。基于处理过程封装而成的中间层称为业务逻辑层(BLL - Business Logic Layer),业务逻辑层没有严格定义和规范,采用三层结构设计符合高内聚,低耦合设计理念,也是研发软件产品最常见的设计方式一。 三层逻辑架构不是指物理上的三层,比如三台联网的机器不是三层逻辑结构或三层体系架构,或者支持B/S应用的才是三层体系结构,所以定义和概念要区分清楚。三层是指逻辑上的三层,即把这三个逻辑层封装在一个软件项目内,是一个整体,缺一不可。三层体系的应用程序将业务规则、数据访问、合法性校验等工作放到了中间层处理,通常情况下,客户端不直接与数据库进行交互,而是通过中间层与数据库进行交互。 2)C/S三层结构图/三层架构图 3)Winform简介及Winform三层架构 WinForm是.Net开发平台中对Windows Form的一种称谓,Windows窗体可用于设计窗体和可视控件,以创建丰富的基于Windows的应用程序。 Winform三层架构是指基于Winform桌面应用程序采用逻辑分层设计的软件架构。 4)Winform三层架构教程之界面层设计(UI层) 开发人员务必根据用户需求以及系统整体风格对界面排版,坚持以用户体验优秀至上原则,界面不能太花俏,功能不能太复杂,特别是功能按钮不能太多!C/S系统快速开发框架采用DevExpress皮肤组件,拥有强大界面功能、顶级的外观表现以及专业的用户体验。 界面层与BLL层逻辑架构: 本文以【产品管理】界面作为例子讲解,产品管理窗体名称(类名):frmProduct, 下图是【产品管理】界面。 在frmProduct窗体的私有域定义BLL层变量: C# Code: /// <summary> /// 产品资料管理 /// </summary> public partial class frmProduct : frmBaseDataDictionary { private bllProduct _BllInstance; //业务逻辑层对象引用 public frmProduct() { InitializeComponent(); } //省略代码.... } 【查询】按钮事件调用业务逻辑层的方法: C# Code: //查询按钮Click事件 private void btnQuery_Click(object sender, EventArgs e) { //调用BLL层的Search方法搜索数据 DataTable dt = _BllInstance.Search( txt_ProductCode.Text, txt_ProductName.Text, ConvertEx.ToString(txt_CategoryCode.EditValue), txt_Barcode.Text); this.DoBindingSummaryGrid(dt); //绑定主表的Grid this.ShowSummaryPage(true); //显示Summary页面. } //来源:C/S框架网(www.csframework.com) QQ:23404761 5)Winform三层架构教程之业务逻辑层设计(BLL层) C# Code: /// <summary> /// 业务层查询方法 /// </summary> /// <param name="productCode"></param> /// <param name="productName"></param> /// <param name="category"></param> /// <param name="barcode"></param> /// <returns></returns> public DataTable Search(string productCode, string productName, string category, string barcode) { //策略模式(ADO直连,或WCF) //return _MyBridge.Search(productCode, productName, category, barcode); //ADO直连:调用数据访问层的Search方法 return new dalProduct(Loginer.CurrentUser).Search(productCode, productName, category, barcode); } //来源:C/S框架网(www.csframework.com) QQ:23404761 6)Winform三层架构教程之数据访问层(DAL层) C# Code: /// <summary> /// 数据访问层查询方法 /// </summary> /// <param name="productCode"></param> /// <param name="productName"></param> /// <param name="category"></param> /// <param name="barcode"></param> /// <returns></returns> public System.Data.DataTable Search(string productCode, string productName, string category, string barcode) { // //SQL拼接查询 // //string sql = "SELECT isid,ProductCodeAuto,ProductCode,ProductName,Barcode,UnitID,CategoryId,SellPrice,UnitID,Spec,Model,Remark,Supplier,dbo.fn_GetCustomerName(Supplier) AS SupplierName,MinQtyWarning FROM tb_Product WHERE 1=1 "; //if (productCode != "") sql += " AND ProductCode LIKE '%" + productCode + "' "; //if (productName != "") sql += " AND ProductName LIKE '%" + productName + "' "; //if (barcode != "") sql += " AND Barcode LIKE '%" + barcode + "%' "; //if (category != "") sql += " AND CategoryId IN (SELECT CategoryCode FROM dbo.ufn_GetProductCategory('" + category + "'))"; //return _Database.GetTable(sql, tb_Product.__TableName); // //调用存储过程 // CommandHelper sp = _Database.CreateCommand("usp_SearchProduct"); sp.AddParam("@ProductCode", productCode); sp.AddParam("@ProductName", productName); sp.AddParam("@Category", category); sp.AddParam("@Barcode", barcode); return _Database.GetTable(sp.Command, tb_Product.__TableName); } //来源:C/S框架网(www.csframework.com) QQ:23404761 C#三层架构快速开发框架: C/S系统快速开发框架旗舰版V5.0(Ultimate Edition) 适用开发:制造、服务、零售、商贸等行业的ERP、MRP、MES、CRM、MIS、HIS、POS数据管理应用系统 运行平台:Windows + .NET Framework 4.5 开发工具:Visual Studio 2015+,C#语言 数据库:Microsoft SQLServer 2008R2+(支持多数据库:Oracle/MySql) 产品介绍 C/S系统快速开发框架(软件快速开发平台)为软件研发团队提供强大的底层开发架构及快速开发能力,开发框架集成多个应用于大型管理应用系统的功能模块、通用开发包、实用类工具以及标准权限管理系统。提供丰富的实例模板、开发文档、线上技术指导服务,让您快速开发软件项目。 自2007年首发产品,我们成功积累了500多家企业、4000多位软件用户,其中包括国内知名软件公司、国企、研发机构及上市集团公司(优秀企业选择了我们的产品-成功案例)。经过十年迭代升级,最新研发的旗舰版V5.1技术更成熟、应用更广泛、性能更稳定、开发效率更高! 开发框架配套的核心工具 - 三层架构代码生成器能快速生成界面(FORM)、业务层(BLL)、数据层(DAL)、模型(Model)、报表(Report)以及VS工程项目(Project)的源代码,快速提高开发效率,节约开发时间,降低项目成本。根据多个项目进度统计,开发框架能为您减少60%以上的工作量。 更多成功案例,请移步CSFramework文库: CSFramework文库 - C/S框架客户成功案例: 扫一扫加微信:
参考文档:
Winform+SQL开发CS架构大型ERP系统源码|C/S框架网 基于Winform三层架构+WCF+ORM模型的快速开发框架 进销存快速开发框架(Winform三层架构+DevExpress+SQL2008R2) 原创C/S架构开源软件 - C#.NET+Winform+Dev+SQL快速开发框架 软件开发与设计 - MIS-管理信息系统-[其他类别]CodematicS3三层结构示例项目 C# Winform 三层架构代码生成器 V5.1版正式发布 生成的窗体Form源码集成到VS解决方案 - C/S框架三层架构代码生成器操作指南 Winform+DevExpress三层架构软件快速开发平台-旗舰版V5.1 Winform界面自适应快速开发框架(C#+Dev+三层架构+多数据库支持) C#源码-医疗管理系统CS(winform)版本-源码下载 信息系统开源框架 - 企业内信息系统应用架构(C#.NET+Winform) C#.NET开发软件Winform三层架构代码生成器软件 Winform三层架构软件开发平台(C#.NET开发) Winform三层架构+WebService+权限管理系统软件开发平台(C#.NET开发) Winform三层c/s架构的软件系统有管理后台吗?
其它资料:
什么是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内容管理系统 | |