当前位置 > 首页 > Asp.net

ASP.NET简易教程5——三层架构与非三层架构的优缺点比较

12/10/2012 8:49:00 PM来源:Asp.net

三层架构与非三层架构的优缺点比较

我们首先简单理清一下上节简述的内容,其实我们开发的内容是很简单的,总是有一条主线下来(UIL、BLL、DAL、DB(DataBase)),其中我们在命名特点上总是以UIL层的aspx的命名为基础,BLL层命名:BLL_ aspx名称,存储过程命名:aspx名称,一个页面总是有与之关联的其他文件,这样做的目的能使整个项目的脉络清晰、代码可读性强、便于团队开发。

在上节我们实现的是查询数据库并显示数据,我们做了些什么事情。

1.必须明确你需要什么数据,这个范畴是SQL语句实现的,我们先在该页面的存储过程填写if语句,在if字段里面编写我们SQL语句,运行“执行”成功(必须的哦)。

2.数据库存储过程SQL语句编写成功后,有数据了,现在我们必须将数据传递到我们页面中,这时我们就要在BLL对应文件中编写我BLL层的代码。

3.数据提取出来了,是一张DataTable表的结构,这时我要在页面的后台代码cs文件中编写代码接收这张表,用一个DataTable变量接收。

4.数据绑定。数据存在在一张二维表DataTable中,至于你想对数据进行什么样的操作,那是我们的自由了,在上节的例子中是用一个GridView控件对其进行了绑定显示。对DataTable的操作是多种多样的,大家可自行学习。

我们对比一下与非分层的拼凑SQL语句查询数据库的编程方式对比一下,实现同样的功能。

我们暂且不说存储过程和拼凑SQL语句的优缺点,从中我们可以发现,三层架构使代码简洁了,大项目对比更是如此,无论是开发还是维护,前者都优于后者。我们将一系列的ADO.NET链接数据库封装成类(当然不是我写的),放在DAL文件中直接调用,这样方便我们编码,告别那些繁琐重复的一堆代码。

 

本教程希望引导式学习的方式传授知识,引导新手自主学习,养成自学的能力。
鉴于个人能力有限,如果发现错漏地方,欢迎指点。

著作权声明:本文由http://www.cnblogs.com/suguoqiang 原创,欢迎转载分享。请尊重作者劳动,转载时保留该声明和作者博客链接,谢谢!

本文链接



  • MapGuide应用开发系列(四)---- 如何运行第一个.net实例代码

    10/20/2009 2:03:00 AM

    摘要: 上节我们介绍了MapGuide的数据包管理和Maestro,这次我们本来是想继续介绍一下Autodesk的地图编辑工具MapGuide Studio,但估计大家安装了MapGuide肯定想先

  • Android实例剖析笔记(七)

    8/30/2009 12:17:00 AM

    摘要: 上一篇文章分析了Snake的界面Layout实现,本文将关注游戏主界面这个View是如何实现的,并提出了我的一些困惑之处,顺便也希望有朋友能指点一二。 -----------------

  • Centos 下同时安装 Mysql4 和 Mysql5,二进制方式

    12/29/2009 8:35:00 PM

    阅读: 165 评论: 0 作者: Cocowool 发表于 2009-12-29 17:30 原文链接 系统中原有 Mysql4 ,但是需要使用 Mysql5 的一些新特性,但是 Mys

  • asp.net简单&高效的分页实现,请大家提提意见

    11/5/2009 6:05:00 PM

    阅读: 18 评论: 1 作者: chenxumi 发表于 2009-11-05 17:41 原文链接 简单、高效这是我们追求的分页效果。 现在有三种很常见的分页: 1、分页用

  • A (less) simple include for ASP.NET

    7/11/2009 12:42:00 PM

    In yesterday’s post , I published the code for a simple include method for ASP.NET that I’ve been

  • ASP.NET AJAX 中 UpdateProgress 的瑕疵及其解决方法

    12/18/2009 1:24:00 PM

    阅读: 371 评论: 8 作者: 刘先勇 发表于 2009-12-18 10:35 原文链接 ... 前言 在Web应用程序中,引入AJAX,不仅可以提高用

  • 有关客户端浏览器缓存的Http头介绍

    7/10/2009 1:03:00 PM

    做网站开发离不开缓存,缓存分好多种:服务器缓存,第三方缓存,浏览器缓存等。其中浏览器缓存是代价最小的,因为浏览器缓存依赖的是客户端,而几乎不耗费服务器端的资源。 让浏览器做缓存需要给浏览器发送

  • C# asp.net 中如何手动编译一段代码?

    4/13/2012 5:35:00 PM

    比如 给一个“<asp:Button ID=xx runat=server />” 像这样的字符串,然后通过一个方法,把他编译成 在页面中运行后的结果 <input type=bu

  • sql 查询模块

    11/15/2009 1:23:00 PM

    阅读: 303 评论: 4 作者: 破浪 发表于 2009-11-15 10:32 原文链接 已经好久没弄博客了,觉得该写些了。但是没想到写些什么,很多东西院子已经很多了。就把我最近在项

  • .Net 之匿名类(AnonymousType)

    12/14/2010 10:15:00 AM

    本文旨在与园有分享我对 .NET 匿名类的认识,如果存在不足的地方欢迎指出。 前言:最近园子里面大谈程序员基础知识的文章,基础知识的重要性无需多论了。看到大家对基础知识的评论后突然想到这么一