如何理解ASP.NET中“三层架构”的概念

开发方法,其思想跟JAVA的类似,JAVA中的三层架构为前端的Html、Jsp、Serlet,中间层为JavaBean、EJB,后面为数据库服务器。在ASP.NET中,请端为HTML、asp、aspx等,中间层为.vb,.cs等文件编译而成的.dll控件,后面为数据库服务器。
在三层架构中,数据层通过中间层来连接以及操作,前端给中间层传递参数,并接受中间层的返回值。一般情况下,主要关注的是中间层与前端的数据交互,中间层可被称为组件,一般为.dll文件。在ASP.NET中.dll文件不用考虑注册的问题,拷贝过来就可以用。
在设计模式上,三层架构的三层分别成为:表示层,业务层和数据层。
1、表示层:
提供应用程序的用户界面,通常也包括Window窗体和ASP.NET页面的使用。
2、业务层:
业务层实现应用程序的业务功能。
3、数据层:
数据层提供对外部系统(如数据库)的访问,该层涉及到的主要.NET技术是ADO.NET的数据库访问技术.对“三层结构”的深入理解——怎样才算是一个符合“三层结构”的Web应用程序?

“三层结构”是什么?

  “三层结构”一词中的“三层”是指:“表现层”、“中间业务层”、“数据访问层”。其中:

n表 现 层:位于最外层(最上层),离用户最近。用于显示数据和接收用户输入的数据,为用户提供一种交互式操作的界面。

n中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑”描述代码在里面。

n数据访问层:仅实现对数据的保存和读取操作。数据访问,可以访问数据库系统、二进制文件、文本文档或是XML文档。

  对依赖方向的研究将是本文的重点,数值返回方向基本上是没有变化的。

什么是三层结构?

一、先讲讲基础知识
所谓三层就是“页面陈述层”、“业务逻辑层”、“数据访问层”这三层。
每一部分都可以脱离其他部分而独立存在。
一 般建立index.aspx页面时,它的逻辑部分会写在同名的index.cs文件中(如果用c#语言实现)。这其实一下就建立了两层:index.aspx是提供给用户看的页面,它调用的逻辑在index.cs文件中,而这个文件是用户无法看到的(服务器藏起来不让用户看)。
真正的逻辑层其实是另一个概念:web service。把所有业务逻辑打包成一个webservice,在需要的地方像调用函数一样调用即可,也可以封装成类来专门处理业务逻辑.这多用于大型项目,一般中小项目就用上面的方法就足够用了。
数据层相对比较独立,其实就是建立独立的数据库,通过逻辑层(比如index.cs)访问数据库,包括和数据库建立连接、向数据库传递查询语句、接收数据库返回的查询结果等。把数据库和逻辑层分离的好处有很多,比如把逻辑层放在机器A上,数据层放在机器B上,AB之间设立防火墙之允许数据库相关数据进出,这样即便A被黑掉或者被大火烧毁,数据库依然是安全的。
二、实际应用的一般思路
这其实是一个软件工程的问题,而不是.net或者三层架构的问题,.net三层架构仅仅是一种实现标准、微软为你搭建好的工具平台等等,实际应用的时候,从来都是从软件工程的角度来考虑问题,而不是迁就三层架构。
任何项目都是从需求开始,针对需求确定用什么样的框架,开发哪些功能,以及界面如何设置。
比较流行、成功率比较高的开发顺序是:
1.找用户确定需要实现的所有功能。
2.分析这些功能之间的关系,提炼出前台、后台、公共库、不同角色等等
3.根据这些功能设计相应的界面,逐个找用户提反馈、修改、确认。确定好界面之后,所有的软件功能、架构体系等问题就都能定下来了。
4.设计数据库结构
5.编写所有模块代码,包括逻辑层,数据库层,界面等等
6.测试、用户反馈、修改、再测试,最终交付。

posted @ 2011-01-25 12:22  web程序人生  阅读(547)  评论(0编辑  收藏  举报