asp.net两层和三层架构
两层模型:
两层模型的设计是显示层和数据访问层。显示层就是应用程序的用户界面(.aspx)和这些界面的代码隐藏类(.cs),数据访问层就是用来处理应用程序和数据库、外部Web Service等交互的。这是asp.net开发中的轻量级模型,实现起来相对容易,所以两层架构模型非常适合于业务逻辑简单的项目(呵呵,所以不要听到人家说三层的好就一股脑的啥子都用三层了。。。。)。
三层模型:
三层模型是在两层的基础上添加了一个业务层。当一个项目需要实现较复杂的业务逻辑时候,我们如果还是用两层的话会让显示层的代码隐藏类(.cs)变得非常的庞大,因为所有的业务逻辑都必须在这个里面实现,这样某些代码隐藏类可能多达几千行,维护和修改起来会让人崩溃的。。。。。还有一个问题就是在两层中我们直接将数据库中的数据放到DataTable或者DataSet中,然后将其中一些字段作为数据源直接付给Gridview之类的显示控件(例如:Label1.Text=dt.Rows[0]["id"].tostring()),假如我们修改了数据库的某个字段(例如前面的id字段),那我们就必须在这几千行代码中找出使用了这个字段的代码然后将其改正,其工作量可想而知,在实际的程序开发中需求的变动和设计的修改是难免的。这个时候我们可以将应用程序的业务逻辑实现部分分离出来,写在单独的类中,这样业务层就诞生了。显示层的显示的数据直接来自于业务逻辑层,而业务逻辑层的数据来自于数据库,这样就大大的降低耦合度,而且代码也会变得更加简单和易于维护(看来功能的分解是一个解决复杂问题的好办法)。这下这三层的功能是:1.显示层就只剩显示标记以及和业务层交互的接口处理了。2.业务逻辑层负责按照业务规则处理数据,以便提供给显示层。3.数据访问层的作用和两层架构中的不变,还是负责从数据库获取数据,以便提供给业务层处理。