.net三层架构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
三层结构的三层是指表示层、业务逻辑层、数据访问层。
表示层:位于最外层,离用户最近,用于显示数据和接受用户输入的数据,为用户提供一种交互式操作界面。表示层一般为Windows应用程序或Web应用程序。
业务逻辑层:是表示层和数据访问层之间通信的桥梁,主要负责数据的传递和处理,例如数据有效性的检验、业务逻辑描述相关功能。业务逻辑层通常为类库。
数据访问层:主要实现对数据的保存和读取操作。数据访问,可以访问关系数据库、文本文件或是XML文档。数据访问层通常为类库。
在三层结构中,各层之间相互依赖:表示层依赖于业务逻辑层,业务逻辑层依赖于数据访问层。
在三层结构中,各层之间的数据传递方向分为请求与响应两个方向:
表示层接受用户的请求,根据用户的请求去通知业务逻辑层,业务逻辑层收到请求,首先对请求进行阅读审核,然后将请求通知数据访问层或直接返回给表示层,数据访问层收到请求后便开始访问数据库;
数据访问层通过对数据库的访问得到请求结果,并把请求结果通知业务逻辑层,业务逻辑层收到请求结果,首先对请求结果进行阅读审核,然后将请求结果通知表示层,表示层收到请求结果,并把结果展示给用户。
使用实体类构建三层结构
实体类,简单地说是描述一个业务实体的类,业务实体直观一点理解就是整个应用系统业务所涉及的对象,从数据存储来讲,业务实体救是存储应用系统信息的数据表,我们将每一个数据表中的字段定义成属性,并将这些属性用一个类封装,这个类就是实体类。
业务实体可以认为属于业务逻辑层,当然,可以将业务实体单独作为一层,称为业务实体层。表示层、业务逻辑层、数据访问层都依赖于业务实体。各层之间数据的传递主要是实体对象(业务信息封装在实体对象中)。
博客系统
数据库:创建数据库MyBlog、用户表Users、日志信息表Articles、评论信息表Comments
创建空白解决方案Blog.sln
添加类库BlogModels(模型层),分别添加User.cs、Article.cs、Comment.cs(与数据库中的表一一对应)
1:
6:using System;
7:using System.Collections.Generic;
8:using System.Text;
9:
10:namespace BlogModels
11:{
12://实体类前面一般加上序列化属性,它会对实体类中的所有字段、属性进行序列化处理。13://序列化的主要目的是为了提高数据传输中的性能与安全性
14: [Serializable()]
15:publicclass User
16:{
17:privateint id;
18:privatestring loginId = String.Empty;
19:privatestring loginPwd = String.Empty;
20:privatestring name = String.Empty;
21:
22://构造函数
23:public User() { }
24:
25:////////////////////////////////////////////
26:// Primary Key
27:////////////////////////////////////////////
28://[DBField("Id")]
29:publicint Id
30:{
31: get { returnthis.id; }
32: set { this.id = value; }
33:}
34:
35:////////////////////////////////////////////
36:// Properties
37:////////////////////////////////////////////
38://[DBField("LoginId")]
39:publicstring LoginId
40:{
41: get { returnthis.loginId; }
42: set { this.loginId = value; }
43:}
44:
45://[DBField("LoginPwd")]
46:publicstring LoginPwd
47:{
48: get { returnthis.loginPwd; }
49: set { this.loginPwd = value; }
50:}
51:
52://[DBField("Name")]
53:publicstring Name
54:{
55: get { ; }
56: set { = value; }
57:}
58:}
59:}
其他两个类与之相似~
添加类库BlogDAL(数据访问层)
添加类库BlogBLL(业务逻辑层)
添加网站Blog(表示层)
希望朋友们留下自己对三层架构的理解。。。
三层体系结构的概念
1.用户界面表示层(USL)
2.业务逻辑层(BLL)
3.数据访问层(DAL)
BLL将USL与DAL隔开了,并且加入了业务规则
∙各层的作用
∙1:数据数据访问层:主要是对原始数据(数据库或者文本文件等存放数据的形式)的操作层,而不是指原始数据,也就是说,是对数据的操作,而不是数据库,具体为业务逻辑层或表示层提供数
据服务.
2:业务逻辑层:主要是针对具体的问题的操作,也可以理解成对数据层的操作,对数据业务逻辑
处理,如果说数据层是积木,那逻辑层就是对这些积木的搭建。