.NET Petshop详解(四):petshop三层结构之PresentationTier

转载 2006年05月29日 10:56:00
在前面的文章中,我们已经就.NET Petshop的数据层和中间的业务逻辑层作了说明,接下来的文章中,我们将就数据展示层作探究。与前面的两层有着很大的差别的是,.NET Petshop的展示层用了很多Microsoft最新的web Forms技术即Asp.NET。因此,在解说展示层之前,我想就Asp.NET在.NET Petshop的开发中使用到的非常重要的特性做一些说明,以示区别:
(1)       Asp.NET代码不再是解释型代码,可以经由JIT编译器编译后运行,并且引入了很好的页面缓冲机制。
(2)       ASP.Net的配置模型引入了基于XML文件的“零安装”配置模型。零安装的含义是只需将配置文件Web.config,应用程序拷贝到系统指定的目录下即可,需要更改时直接在文件里更改并保存。
(3)       安全管理 ASP.Net提供了比传统ASP更强大可靠的安全管理。Asp.NET提供了三种验证方式以及两种类型的授权服务。
(4)       支持代码和页面内容的分离。回想以前编写Asp程序的时候的问题:代码逻辑混乱,难于管理。
(5)       提供了更好的状态管理,包括会话状态的管理和视图状态的管理。
(6)       大量的ASP.NET服务器端控件和对用户控件的开发的支持。
.NET Petshop充分的使用了服务器控件技术和会话状态管理。展示层的交互界面均采用aspx页面,后端有分离的逻辑代码。.NET Petshop共有19个aspx页面和代码逻辑。在这里一一里列出,并说明设置参数和其作用。
 

ASP.NET Web页面
EnableSessionState
EnableViewState
备注说明
Cart.aspx
true
true
购物清单
Category.aspx
True
false
产品分类的列表
CheckOut.aspx
Readonly
false
订单确认
CreateNewAccount.aspx
False
true
创建新帐号
Default.aspx
False
false
系统首页面
EditAccount.aspx
False
true
账号编辑
Error.aspx
False
false
错误处理
Help.aspx
False
false
帮助
OrderAddressConfirm.aspx
readonly
false
订单地址确认
OrderBilling.aspx
True
true
订单信息
OrderProcess.aspx
readonly
false
下订单
OrderShipping.aspx
True
true
订单地址和姓名
Product.aspx
False
false
产品列表
ProductDetails.aspx
false
false
产品详细信息
Search.aspx
false
false
搜索
SignIn.aspx
false
false
帐号登陆
SignOut.aspx
true
false
帐号退出
ValidateAccount.aspx
false
false
帐号创建确认
VerifySignIn.aspx
false
false
账号登陆确认
 
.NET Petshop使用了很多用户控件,这些控件位于web/Inc目录下面。表格2对用户控件作出说明:
 

User Controls
EnableViewState
备注说明
ControlAddress
true
详细地址列表
ControlBanner
false
页面底部的banner
ControlCart
true
购物清单
ControlFavList
false
个人Favorites列表
ControlHeader
false
页面顶部的菜单和链接
ControlStaticAddress
false
不能编辑的地址信息
下面列出一段代码,说明这些参数的设置和用户控件的引用:
/*  摘自Cart.aspx   */
<%@ Register TagPrefix="PetShop" TagName="Cart" Src="Inc/ControlCart.ascx" %>
<%@ Register TagPrefix="PetShop" TagName="Header" Src="Inc/ControlHeader.ascx" %>
<%@ Page language="c#" Codebehind="CheckOut.aspx.cs" AutoEventWireup="false" Inherits="PetShop.Web.CheckOut" EnableSessionState="readonly" enableViewState="False"%>
 
开始的两个Registe指令用于引用ControlCartControlHeader的用户控件,Page指令定义 ASP.NET 页分析器和编译器使用的页特定的属性。
在控件的排放位置使用下面的代码既可以显示该控件了:
<PetShop:Cart id="ctlCart" runat="server" allowedit="false" />
在上面的代码中allowedit一项是向实例化的ctlCart传递参数。我个人认为用户控件是一个很好的东西,可以简化web页面的开发模型又可以达到代码复用的目的,而且其开发非常简单,与aspx的开发基本是一样的。
 
接下来的文章我们将就系统配置和安全管理作进一步的说明

在PetShop 4.0中ASP.NET缓存的实现详解

PetShop作为一个B2C的宠物网上商店,需要充分考虑访客的用户体验,如果因为数据量大而导致Web服务器的响应不及时,页面和查询数据迟迟得不到结果,会因此而破坏客户访问网站的心情,在耗尽耐心的等待后...

J2EE Java Pet Store 与 .NET PetShop

[转]J2EE Java Pet Store 与 .NET PetShop 分类: 转载收藏 软件开发 2008-03-12 10:01 1695人阅读 评论(2) 收藏 举报 ...
  • lionzl
  • lionzl
  • 2012年05月23日 16:07
  • 981

Microsoft .NET PetShop 4.0 架构与技术分析(七)

六 PetShop之表示层设计 表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使...

Microsoft .NET PetShop 4.0 架构与技术分析

1.框架的概要介绍微软刚推出了基于ASP.NET 2.0 下的Pet Shop 4, 该版本有了一个全新的用户界面。是研究ASP.NET 2.0 的好范例啊,大家都知道,一直以来,在.NET ...

结合高性能web站点构架话题在asp.net中petshop缓存的探究

缓存的方式在计算机 在高性能的web站点构中,缓存的方式

petshop4.0 详解之四(PetShop之ASP.NET缓存)

如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存 储器(Cache)的技术。因为Cache的存取速度比内存快...

PetShop三层结构分析

  • 2008年03月05日 20:40
  • 20KB
  • 下载

仿petshop三层结构简单实现

  • 2009年04月30日 16:15
  • 147KB
  • 下载

重温Petshop 谈谈对三层架构的理解--兼发布一个通用的数据访问控件(oracle免装客户端)

编写这个组件的需求灵感来自于看了某个产品(企业应用系统)研发项目的源码,该产品为了同时支持sql server 和oracle, 照搬了微软的 petshop的代码作为系统架构,petshop相信很...
  • wnety
  • wnety
  • 2012年03月21日 17:13
  • 691

.net PetShop购物程序V1.5.2

  • 2006年02月23日 09:05
  • 682KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:.NET Petshop详解(四):petshop三层结构之PresentationTier
举报原因:
原因补充:

(最多只允许输入30个字)