您的位置:首页 > 运维架构 > 网站架构

个人对三层架构的理解

2006-08-17 09:46 330 查看
三层架构
现时中,很多人在刚做开发时对三层架构的理解不是很清楚,也可以说每个人对三层架构的理解各不同吧!

下面是我个人根据自已经验对三层架构做简单分析:

在我的项目中(项目都不是很大),一般使用到:数据层、数据访问层、业务逻辑层、表示层

当然,这里的数据访问层可以归为数据层,但也和业务逻辑层有关系。

首先,数据层。我的理解是数据层就是数据字典,包括:创建的表、索引、主键、表之间的关系约束等.这一点没有什么好说的,当然可以借作PowerDesigner这样的工具中进行建模,生成Script,进而到数据库管理。

其次,数据访问层。这一层主要负责对数据库的数据进行操作,如:SELECT、UPDATE、DELETE等。当然,要对数据库进行操作,就少不了Stored Procedure、Function、Table View等对象。这此对象的集合就构成了数据访问层的实体。

再次,业务逻辑层。一般情况下此层最为复杂,此层可以封装对ADO.NET进行操作并返回不同的数据类型,如:SqlCommand、SqlConnection、DataSet、DataTable、SqlDataReader、SqlDataAdapter、String、Bool、Void等各种类型,这要看具体需要了。以上返回的数据类型都可以在业务逻辑层进行定义、封装,为表现层实例化操作提供接口。我通常做法是,在一个namespace下根据需要返回的数据类型写不同的class,这些类是通用的,在表现层提供访问这些类的参数即可得到对应的返回数据。

最后,表示层。此层主要是为用户提供良好的界面,可以借做不同工具进行页面设计。当然,良好的表现层页面设计同样也需要编写代码,这里就要使用到VbScript、JavaScript、CSS、AJAX等技术。同时,在显示数据时,需要调用业务逻辑层定义的一些方法,并返回对应数据。这里经常要用到this.控件ID号.DataSource=返回数据源;this.控件ID号.DataBind();

总结:以上是根据个人经验写出的体会,当然,其中会有一些不妥的地方,希望给予指正。另外,对以上四层之间的关系,在此我也作一个简单拒描述。其实,也就是这几层的执行流程。首先,用户在表示层向Web Server发出请求,然后,根据用户请求去访问业务逻辑层的数据接口,业务逻辑层根据用户请求的业务逻辑进行一些处理后,提交到Database Server。最后,由数据库服务器根据数据层及数据访问层处理并返回用户所需要的数据给Web Server,再由Web Server返回到用户界面。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: