以前对ASP.NET的三层构架的理解一直是很模糊的。看了很多资料,反倒更不宜理解。于是后来就有了一种很狭义的理解:表示层就是页面展示的东西(XX.aspx文件);业务层就是实现数据库操作用来在页面显示的过程(XX.aspx.cs文件);还有就是数据层是数据库。
前段时间看了《面向对象的ASP.NET》一书,才发现是受了以前ASP开发的干扰。这两种的思想是完全不同的,顿时觉得思想豁然开朗,也似乎明白了三层架构的含义:表示层是页面展示的东西(XX.aspx);业务逻辑层是调用数据访问层的类获取数据用来在页面显示的过程(XX.aspx.cs文件);数据访问层就是一些访问数据库获取数据的类 (.cs类文件)。 在跟朋友的讨论中,突然发现这种想法也是极其狭义的。
后来,上网再找关于三层架构的资料,结果发现好多版本不一。在参考了大量的文章后发现:三层架构本身就是一个很模糊的概念(或者说至少有一大批人认识不足),没有人说那种方法就是标准的。
那么,到现在我也该形成我自己的思想,这种理解或许仍旧是狭义的,但他更进一步接近大家的描述了。表示层包含.aspx和.aspx.cs文件;业务逻辑层就是通过调用数据访问层的方法来获取数据的类,表现为cs类文件;数据访问层封装了访问数据库的各种方法的类,一般表现为一个cs类文件,其作用主要就是使得对不同数据库有不同的类,但是对这些类的调用是统一的。
下边列出一些参考文章:
asp.net教程-三层架构之数据库访问层完全篇(C#)-.NET教程,C#语言
http://www.e2web.cn/temp/0001/20066151523452741.htm
如何在ASP.NET中使用三层架构
http://hi.baidu.com/wzhh2008/blog/item/d7b4ae540a19925bd1090696.html
新人求帮!asp.net三层架构困惑,我这样算三层结构么?
http://www.polsnet.com/home/tech5202_5642115.html