.NET 三层架构

         什么叫三层架构?定义各有不同。概括为至少有三个类库并且每个类都承担各自功能的项目可称之为三层架构。只是广泛应用于软件项目架构,广泛流传的称谓。

        UI(User Interface)界面层、BLL(Business  Logic Layer)业务层和DAL(Data Acess Layer)数据层常规的三层架构项目所包含的三层。UI用户接触最多的,能让用户看得见的东东;BLL由用户提出业务需求层,通常承担界面和后台数据的桥梁的角色;DAL有需求然后就需要对需求做出相应的Action,包括对数据库的链接,Insert,Delete,Update,Select……等等对数据所有操作。但是通常我们的三层架构为了项目结构的灵活性已经更加匹配面相对象的原则,方便开发,添加了IDAL(数据的接口)和Model(数据模型)。从上面大家给出的常规定义来看似乎有点出入,或许有人会问那为什么不叫五层架构呢?个人认为你完全可以这么叫,只要你愿意!名字只是一个CODE。关键的是我们要明白为什么这样写CODE,这样写的好处在哪里!

        一般我们怎么用上述的三层架构呢?这里我给出自己对三层架构应用的一个小例子。比喻我在UI想要获取关于某些Data,或者还要通过Button的Click事件来传递某些Parameters获取这些Data。这时候我们通过后台的.cs文件书写一个方法,获取页面的参数,当然这个方法需要调用BLL的接口,再由BLL该接口去调用DAL最根本对数据操作的方法,从而到达UI对数据的操作(增、删、改、查)。 中的

PackageDefineData packagedefine = packagedefineSystem.ReadPackageDefineByPage(this.grdPackageDefine.PageSize, 1, ref recordCount);分页方法ReadPackageDefineByPage()我们转到定义的时候到了BLL里面的接口我们不妨看看它的接口是怎么写的。如下:

 

我们继续查找结构里面方法的定义我们不难发现它最原始操作分页的方法在DAL层里面,代码如下。

 

 

从上面所贴出来的代码段大家不难看出三层结构,上面三段代码段分别代表UI,BLL和DAL。这三层是项目开发过程中的主体结构,当然我们在开发过程中往往都有Model(实体),Model层的出现减少了我们大量的SQL脚本的书写,但是在建立Model类的时候需要正确地理解数据库中所有表的结构,不然Model不能正确显示出数据库中表之间的外键关系,如果仅仅是为了获取一个个单独表的字段去建设Model的话就显得没有必要,同时也不能显示出ORMapping的思想和面向对象的思想结构,这样的话在项目开发过程中不能适当的减少开发工作量。Model的存在在于对象化开发的应用,通过实体来操作表对象这样比我们通过SQL来得更简单快捷,并且在代码调试过程中也大大减少了工作量。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值