主要内容
• .NET的三层架构?
• 为什么需要使用三层架构?
• 如何应用三层结构开发软件系统?
• 实体类
• 实践
一、.NET的三层架构(1)
• 对于简单的应用程序,由于功能比较简单,所有的代
码都放在一起,没有涉及到任何分层的概念,那样的
处理尚能接受。但是对于一个大型的应用系统来说,
如果所有的代码都放在一起,既不利于以后功能扩展,
也没有任何灵活性可言。
• 三层体系结构,是在
客户端与数据库之间加
入了一个"中间层"。这
里所说的三层体系,是
指逻辑上的三层,是一
种体系结构,它是源自
并优化了经典体系模式
MVC模式的产物。
一、.NET的三层架构(2)
• 典型的三层结构包括界面层、业务逻辑层和数据访问层。采用
分层设计的创建的应用系统,由于层与层之间的低耦合、层内
部的高内聚,使得解决方案的维护性、可重用性和增强伸缩性
变得更容易。
• 表示层(UI):主要是指与用户交互的界面。用于显示数据和
接收用户输入的数据,将用户输入的数据传递给业务逻辑层,
一般不包含任何实际的业务处理,当业务逻辑层的数据发生变
化时,表示层就会显示出更新的结果。表示层提供应用程序的
用户界面,通常为Windows应用程序或Web应用程序。
• 业务逻辑层(BLL):是表示层和数据访问层之间的桥梁。它代
表应用程序的核心功能,负责处理数据层的数据,实现业务逻
辑。业务逻辑层通常为类库。
• 数据访问层(DAL):主要实现对数据的保存和读取操作,针对
数据的增、删、改、查。将存储在数据库中的数据提交给业务
层,同时将业务层处理的数据保存到数据库中。数据访问层可
以访问关系数据库、文本文件或者XML文档,通常为类库。
二、为什么需要使用三层结构?(1)
• 如果您经营一个饭店,会请三种员工,一种是服务员,负责给客户提供服务,
另一种是厨师,负责烹饪美食,还有一种是采购员,负责为厨师提供做菜的原
料。饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接
待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;
采购员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。在
饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的
人员发生变化时,都不会影响其他两者的正常工作,只对变化者进行重新调整
即可正常营业。有了良好而明确的分工后,管理就比较容易。如果客户批评饭
店服务态度不好,肯定是服务员出问题了,不可能是厨师或采购,如果是菜的
味道不好,那就是厨师的问题,与服务员无关。
二、为什么需要使用三层结构?(2)
• 用三层结构开发的软件系统与饭店类似,表示层就像服务员,直接和客户打
交道,提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层
之间的桥梁,负责数据处理和传递,就像厨师,负责把采购回来的食品加工
完成,传递给服务员。数据访问层只负责数据的存取工作,类似于采购,系
统里有什么数据取决于数据访问层的工作,饭店能够提供什么样的饭菜首先
取决于采购购买的材料。
二、为什么需要使用三层结构?(3)
• 用三层结构主要是使项目结构更清楚,分工更明
确,DAL(数据访问层)、BLL(业务逻辑层)、WEB层
各司其职,意在职责分离,有利于后期的维护和
升级。它未必会提升性能,因为当子程序模块未
执行结束时,主程序模块只能处于等待状态。这
说明将应用程序划分层次,会带来其执行速度上
的一些损失。但从团队开发效率角度上来讲却可
以感受到大不相同的效果。
• 这也就要求我们做到完善的三层结构:修改表现层
而不用修改逻辑层,修改逻辑层而不用修改数据层。
否则你的应用是不是多层结构,或者说是层结构的
划分和组织上是不是有问题就很难说.
三、如何应用三层结构开发软件系统?(1)
• 三层结构搭建方法
• 1、搭建表示层(创建一个Windows应用程序)
• 2、搭建业务逻辑层(类库)
• 3、搭建数据访问层(类库)
• 4、添加各层之间的相互依赖
三、如何应用三层结构开发软件系统?(2)
实际运用三层结构模型,如图所
示:model层:即实体层,简单地
来说就是有多少张数据表,就有
多少个实体.每张数据表里有多
少个字段.那每个实体里就有多
少个属性.