版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、.NET的三层架构三层体系结构,是在客户端与数据库之间加入了一个中间层。这里所说的三层体系,不是指物理上的三层,是指逻辑上的三层,是一种体系结构,它是源自并优化了经典体系模式MVC模式的产物。通过本章的学习深入了解什么是三层结构,如何用三层结构开发应用系统,以及用三层结构开发软件系统具有哪些优势。主要内容有:什么是三层结构?为什么要使用三层结构?如何应用三层结构开发软件系统?三层结构的优势与劣势?三层结构概述典型的三层结构包括界面层、业务逻辑层和数据访问层,使用三层结构创建的应用系统,由于层与层之间的低耦合、层内部的高内聚,使得解决方案的维护和增强变得更容易。为什么需要三层结构如果您经营一个饭
2、店,你会请三种员工,一种是服务员,负责给客户提供服务,另一种是厨师,负责烹饪美食,还有一种是采购员,负责为厨师提供做菜的原料。饭店将整个业务分解为三部分来完成,每一部分各负其责,服务员只管接待顾客、向厨师传递顾客的需求;厨师只管烹炒不同口味、不同特色的美食;后勤工作人员只管提供美食原料;他们三者分工合作共同为顾客提供满意的服务。在饭店为顾客提供服务期间,服务员、厨师、后勤工作人员,三者中任何一者的人员发生变化时,都不会影响其他两者的正常工作,只对变化者进行重新调整即可正常营业。有了良好而明确的分工后,管理就比较容易。如果客户批评饭店服务态度不好,肯定是服务员出问题了,不可能是厨师或采购,如果是
3、菜的味道不好,那就是厨师的问题,与服务员无关。用三层结构开发的软件系统与此类似,表示层就像饭店的服务员,直接和客户打交道,提供软件系统与用户交互的接口;业务逻辑层是表示层和数据访问层之间的桥梁,负责数据处理和传递,就像饭店的厨师,负责把采购回来的食品加工完成,传递给服务员。数据访问层只负责数据的存取工作,类似于饭店的采购,系统里有什么数据取决于数据访问层的工作,饭店能够提供什么样的饭菜首先取决于采购购买的材料。什么是三层结构通常所说的三层结构包括表示层、业务逻辑层、数据访问层。采用分层设计的软件可维护性、可重用性、可伸缩性都比较好。三层结构的示意图如图15.1所示。表示层:主要是指与用户交互的
4、界面,用于显示数据和接收用户输入的数据,将用户输入的数据传递给业务逻辑层,一般不包含任何实际的业务处理,当业务逻辑层的数据发生变化时,表示层就会显示出更新的结果。表示层提供应用程序的用户界面,通常为Windows应用程序或Web应用程序。业务逻辑层:是表示层和数据访问层之间的桥梁,它代表应用程序的核心功能,负责处理数据层的数据,实现业务逻辑。业务逻辑具体包含验证、计算、业务规则等等。业务逻辑层通常为类库。数据访问层:主要实现对数据的保存和读取操作,将存储在数据库中的数据提交给业务层,同时将业务层处理的数据保存到数据库中。数据访问层可以访问关系数据库、文本文件或者XML文档,通常为类库。什么是三
5、层结构通常所说的三层结构包括表示层、业务逻辑层、数据访问层。采用分层设计的软件可维护性、可重用性、可伸缩性都比较好。三层结构的示意图如图15.1所示。表示层:主要是指与用户交互的界面,用于显示数据和接收用户输入的数据,将用户输入的数据传递给业务逻辑层,一般不包含任何实际的业务处理,当业务逻辑层的数据发生变化时,表示层就会显示出更新的结果。表示层提供应用程序的用户界面,通常为Windows应用程序或Web应用程序。业务逻辑层:是表示层和数据访问层之间的桥梁,它代表应用程序的核心功能,负责处理数据层的数据,实现业务逻辑。业务逻辑层通常为类库。数据访问层:主要实现对数据的保存和读取操作,将存储在数据
6、库中的数据提交给业务层,同时将业务层处理的数据保存到数据库中。数据访问层可以访问关系数据库、文本文件或者XML文档,通常为类库。三层结构的优势与劣势优势:结构清晰、耦合度低便于系统的维护与扩展 利于开发任务同步进行劣势:降低了一定的性能创建三层结构前面我们对三层结构有一个简单的认知,明白了三层结构包括的内容以及各层之间的关系,下面在VS2008中创建一个三层架构的项目。创建表示层首先打开VS2008,新建项目,在弹出的“新建项目”对话框项目类型中选择“VisualC#”选项,模板选择Windows应用程序,填写项目名称“SchoolManager”,并选中“创建解决方案的目录”前的复选框,如图
7、15.2所示。创建业务逻辑层在创建好的解决方案名称上右击,选择“添加”“新建项目”选项,打开“添加新项目”对话框,在模板中选择“类库”选项,填写名称“BLL”,如图15.3所示。创建数据访问层创建数据访问层和创建业务逻辑层的方法相同,只是在名称中输入“DAL”,如图15.4所示。添加各层之间的依赖关系三层的框架已经搭建成功,但是每层之间是互相独立的,.NET应用程序中需要对层之间添加引用,创建依赖关系。1实现表示层对业务逻辑层的引用打开“解决方案资源管理器”面板,右击表示层的“引用”图标,选择“添加引用”选项,如图15.5所示,打开“添加引用”对话框,如图15.6所示。在“添加引用”对话框中选
8、择“项目”选项卡,选中名称“BLL”,单击“确定”按钮即可。此时在表示层的引用目录中可以看到刚才添加的“BLL”,如图15.7所示。2实现业务逻辑层对数据访问层的引用操作方式和界面层引用业务逻辑层相同,不再详述。三层结构应用示例用户登录实现这一节使用三层架构实现一个简单的用户登录功能。建立数据库首先建立数据库,在VS2008中打开“服务器资源管理器”面板,创建数据库,名称为“StudentInfo”,创建完成后在其中添加表,创建表“Login”,存储用户登录的信息,数据表的结构见表15.1。创建三层架构的项目运用前面学过的知识,创建一个三层架构的项目,项目名称为“SchoolManager”,
9、创建业务逻辑层和数据访问层,添加层之间的依赖关系。创建好后的解决方案如图15.8所示。添加实体层三层架构搭建好之后,有一个问题需要解决,使用什么在三层之间传递数据呢?目前通用的解决方法有两种:一种是使用实体类在三层之间传递数据,一种是使用DataSet在三层之间传递数据。使用实体类的主要好处在于实体类是一个比较易于控制的对象,它具有面向对象的基本特征,可以自由的向实体类添加行为等。实体类是业务逻辑对象的基础,用面向对象的思想消除了关系数据与对象之间的差异。实体类通常是一个存储应用系统信息的数据表,将数据表中的字段定义成属性,将这些属性封装成一个“类”,就是实体类。本例中创建一个实体类Login
10、.cs,用来反映数据表Login中的记录。添加实体层的方式和创建业务逻辑层的方式相同,在解决方案中添加“Model”项目即可。添加完成后的解决方案如图15.9所示。编写实体类Login.cs实体类Login.cs和数据库中Login表相对应,将那个数据表中的字段定义为属性。登录界面设计在界面层“SchoolManager”上右击,选择“添加”“添加Windows窗体”命令,添加窗体文件“LoginForm.cs”。界面设计如图15.10所示。数据访问层代码编写在数据访问层添加类“LoginService.cs”,编写访问数据库的代码。为了访问的简化,将数据访问层中的类都设为静态类,其中的方法和变量都是静态的。在数据访问层的类中编写根据用户名获得用户的方法。业务逻辑层用户登录代码编写在业务逻辑层中添加类“LoginManager.cs”,编写代码实现用户登录的业务逻辑。业务逻辑层负责把数据层获得的数据传递到界面层,在传递过程中,根据业务需求编写规则,返回请求的数据。本示例比较简单,根据用户ID能够查询到用户信息就返回true,否则返回false。示例代码如代码15-3所示。用户登录
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年水利水电工程管理竞聘试卷
- 2026年学校防火安全知识课件
- 2026年心脑血管疾病知识
- 2026年电商运营师中级考试重点题库及解析
- 2026年助理工程师资格考试重点复习
- 2026年小学生德育知识竞赛
- 2026年小学二年级上册语文期末模拟检测卷含答案
- 2026年小学六年级上册数学逻辑推理练习卷含答案
- 解剖生理学试题集
- 今冬明春防火实施方案(6篇)
- 首都机场航空器活动区机动车驾驶证考试试题与答案
- 2026年高考乙卷理综化学真题解析含答案
- 2025-2026学年小学数学(人教版)六年级上学期期末模拟试题及答案(共5套)
- 2026年高考全国二卷语文真题试卷含答案
- 视网膜脱落课件
- 2025年春国家开放大学《园艺植物栽培学总论》形考任务1-3+实验实习参考答案
- 营销部地推岗位职责及考核标准范本
- 高频词根词缀词族对照表知识清单-2026届高考英语一轮复习
- 第一单元工匠精神
- 公司安全检查培训内容课件
- 2025年国家开放大学电大政治学原理期末考试题题库及答案
评论
0/150
提交评论