前言
前段时间朋友拿了个网站给我,让我帮忙添加几个小功能,我爽快的答应了,但是当我打开源码,我瞬间就奔溃了,整个项目连最基本的三层框架也没有搭建,仅仅是封装了一个sqlhelp作为数据库的操作接口,项目中的SQL查询语句无处不在,业务逻辑紧紧耦合在UI逻辑中,看到这样的代码,坦白来说,我什么兴致都没有了,但是碍着人情,我硬着头皮,把基本功能的完成交差,通过这件事情,我对软件分层进行了深入的思考。
三层架构
说到三层架构,大伙都很熟悉,我也不再多啰嗦了,我们直接快速搭建一个。
项目的引用关系是:StructWed->BLL,Model;BLL->DAL,Model;DAL->Model。下面我们来演示一下程序流程,假设我们的数据库有一张订单表Order表,我们的业务是针对Order表进行的增删改查,那么根据三层架构的编程模式,我们就需要建立起对应的Model层实体,数据访问层实体和业务层实体,我们分别用OrderModel,OrderDAL,OrderBLL表示,代码如下,由于仅仅是为了演示,所以我并未提供相应的实现。
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace Mode { public class OrderModel { public int ID { get; set; } public int productName { get; set; } public DateTime CreateTime { get; set; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using Mode; namespace DaL { public class OrderDAL { /// <summary> /// 向Order表插入数据 /// </summary> /// <returns>成功:true,失败:false</returns> public bool Insert() { return true; } /// <summary> /// 修改Order表数据 /// </summary> /// <param name="model">表数据对应实体</param> /// <returns>成功:true,失败:false</returns> public bool Update(OrderModel model) { return true; } /// <summary> /// 删除Order表指定ID的记录 /// </summary> /// <param name="id">表ID</param> /// <returns>成功:true,失败:false</returns> public bool Delete(int id) { return true; } } }
using System; using System.Collections.Generic; using System.Linq; using System.Text; using DaL; using Mode; namespace Bll { public class OrderBLL { protected OrderDAL orderDal = new OrderDAL(); public bool Insert(OrderModel model) { //业务点1 //业务点2 return orderDal.Insert(); } /// <summary> /// 修改Order表数据 /// </summary> /// <param name="model">表数据对应实体</param> /// <returns>成功:true,失败:false</returns> public bool Update(OrderModel model) { //业务点1 //业务点2 return orderDal.Update(model); } /// <summary> /// 删除Order表指定ID的记录 /// </summary> /// <param name="id">表ID</param> /// <returns>成功:true,失败:false</returns> public bool Delete(int id) { //业务点1 //业务点2 return orderDal.Delete(id); } } }
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索using
, 前段框架
, 解耦
, system
, public
, 三层架构 ent
, order
, #三层架构
, 三层架构引用
, 三层架构
, 业务
, 实体
表架构
,以便于您获取更多的相关知识。