13.78k likes | 13.92k Views
浅谈“三层结构”原理与用意. 浅谈“三层结构”原理与用意. 2005 年 02 月 28 日, AfritXia 撰写. 2006 年 12 月 28 日, AfritXia 第一次修改. 序. 在刚刚步入“多层结构” Web 应用程序开发的时候,我阅读过几篇关于“ asp.net 三层结构开发”的文章。但其多半都是对 PetShop3.0 和 Duwamish7 的局部剖析或者是学习笔记。对“三层结构”通体分析的学术文章几乎没有。.
E N D
2005年2月11日,Bincess BBS彬月论坛开始试运行。不久之后,我写了一篇题目为《浅谈“三层结构”原理与用意》的文章。旧版文章以彬月论坛程序中的部分代码举例,通过全局视角阐述了什么是“三层结构”的开发模式?为什么要这样做?怎样做?……而在这篇文章的新作中,配合这篇文章我写了7个程序实例(TraceLWord1~TraceLWord7留言板)以帮助读者理解“三层结构”应用程序。这些程序示例可以在随带的CodePackage目录中找到——
对于那些有丰富经验的Web应用程序开发人员,他们认为文章写的通俗易懂,很值得一读。可是对于asp.net初学者,特别是没有任何开发经验的人,文章阅读起来就感到非常困难,不知文章所云。甚至有些读者对“三层结构”的认识更模糊了…… 对于那些有丰富经验的Web应用程序开发人员,他们认为文章写的通俗易懂,很值得一读。可是对于asp.net初学者,特别是没有任何开发经验的人,文章阅读起来就感到非常困难,不知文章所云。甚至有些读者对“三层结构”的认识更模糊了……
n中间业务层:负责处理用户输入的信息,或者是将这些信息发送给数据访问层进行保存,或者是调用数据访问层中的函数再次读出这些数据。中间业务层也可以包括一些对“商业逻辑”描述代码在里面。
在一个大型的Web应用程序中,如果不分以层次,那么在将来的升级维护中会遇到很大的麻烦。但在这篇文章里我只想以一个简单的留言板程序为示例,说明通常设计方式的不足——在一个大型的Web应用程序中,如果不分以层次,那么在将来的升级维护中会遇到很大的麻烦。但在这篇文章里我只想以一个简单的留言板程序为示例,说明通常设计方式的不足——
更完整的示例代码,可以到CodePackage/TraceLWord1目录中找到。数据库中,仅含有一张数据表,其结构如下:
[PostTime] DateTime GetDate() 留言发送时间,默认值为当前时间
#001 <%@ Page language="c#" Codebehind="ListLWord.aspx.cs" AutoEventWireup="false"
#002 <!DOCTYPEHTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
#007 <metaname="GENERATOR"Content="Microsoft Visual Studio .NET 7.1">
#010 <metaname=vs_targetSchemacontent="http://schemas.microsoft.com/intellisense/ie5">
#022 <%# DataBinder.Eval(Container.DataItem, "TextContent") %>