.Net Petshop详解(一): petshop概览和准备工作

** .Net Petshop ** ** 详解(一): ** ** petshop ** ** 概览和准备工作 ** ** **

Youther

** 前言 ** ** **

Microsoft 公司为了配合推出 .NET 战略 , 不仅发布了一系列的开发工具和开发平台 , 同时还推出了 .NET 平台上的示范应用 . 其中的 .Net Petshop 就是极好的一例 . 这个电子商务的开发应用是为了应对 J2EE 平台而出炉的 , 在 J2EE 平台上 Sun 公司也有一个完整的实例 ----J2EE Petstore, 它体现 J2EE 的 BluePrint 。二者解决的问题是一样的,功能也大同小异,界面也是如出一辙。自然是公说公有礼,婆说婆有礼了,我们姑且不管双方怎么声称自己的东西好,但是从中也能足见 .NET 和 J2EE 平台上的完美杰作是怎么样的一个实现。在这里,本人无意去争辩问题的胜负,也不打算去探讨 J2EE 是怎么样的解决方案和实现,只是作为纯粹的技术角度来管窥 .NET 平台上的 .Net Petshop 是如何一套的解决方案和实现的。我想,最好的学习,莫过于钻研这样的一套大的经典的系统,从设计的思想到最好的编码,毫无疑问对于我们将是大有裨益的。在这里,我将陆续的系列中逐步与大家一起探讨详解 .Net Petshop 的方方面面。希望大家多多指正!


** .NET Pet Shop ** ** 解决问题的描述 ** ** **

.NET Pet Shop 是一个电子商务的实例,是在 Microsoft 的 .NET 平台上的一个具体实现。这个系统包含了 B2C 和 B2B 的实现。在这里我主要将的是 B2C 实现的部分, B2B 在 .NET Pet Shop 里面不是重点要解决的问题。

.NET Pet Shop 是一个在线的宠物购物系统,用户可以通过各种能够连接到 internet 的终端(包括移动终端)进行在线购物(具体界面见图一)。在这里,我将列出它将要实现的功能,也就是需求了:

(1) 用户帐号的管理功能:包括帐号创建,帐号登录,帐号维护;

(2) 产品浏览功能:类别浏览,具体产品浏览,详细信息,库存信息等等;

(3) 用户购物功能:添加购物,计算总价,下订单等等。


** 图一 ** .NET Pet Shop ** 系统的登录主界面 **

** .NET Pet Shop ** ** 的逻辑结构 ** ** **

.NET Pet Shop 按照三层的分层模型来部署整个系统。 .NET Pet Shop 分为数据展示层,中间层,数据层。这三层被清晰的分割为分布式应用的三个方面。其中数据展示层主要是完成界面和与最终用户交互的功能,在应用程序里面是一些 aspx 的页面和代码;中间层用于封装商业逻辑和规则,在应用程序里面被封装为 .NET 组件;数据访问通过中间层中的数据访问组件与 SQL Server Provider 交互,所有的数据获取依靠存储过程来进行,而不是通过 SQL 语句。图二是参考 petshop 的白皮书说明 .NET Pet Shop 的物理部署结构。

图二 .NET Pet Shop 部署结构

** .NET Pet Shop ** ** 的开发环境支持 ** ** **

Microsoft 的 .NET 战略是如此的宏大,同样的 .NET Pet Shop 需要的开发环境同样是很壮观的。以下是我调试 .NET Pet Shop 的环境,有些东西是可以替换的,有些不是必须的。大家可以根据自己的情况调整。

(1) 操作系统 win2000 server , web 服务器 IIS5.0 ,数据库服务器 SQL Server 2000;

(2) 开发工具 Visual Studio.NET 企业设计版。

在这里如果大家想很快的知道 .NET Pet Shop 的 UML 模型,可以利用 Visio 来进行反向工程,就可以自动生成静态的类图(但是不可能生成用例图和序列图等等的)。同时 Visio 也可以对已经有的 petshop 数据库进行反向工程,生成数据库模型,从而对理解 .NET Pet Shop 大有帮助,也能够管窥一点微软的建模方法和设计过程。

** .NET Pet Shop ** ** 系统的安装 ** ** **

.NET Pet Shop 的示例程序代码和白皮书可以在 Microsoft 的 msdn 网站上下载到,也可以到 http://www.gotdotnet.com/compare 去下载。

在 petshop 的文件夹下有 database 、 petshopdoc 和 web 以及 webservice 几个文件夹。 Database 是数据库的安装脚本,将你的数据库的 sa 密码设置为空即可直接运行这些脚本安装。 Petshopdoc 是英文的白皮书,后面的比较有参考价值了。 Web 是我们将要讨论的大部分程序代码。 Webservice 是用于发布的 web 服务。

下一篇我将就 .NET Pet Shop 的三层应用程序结构作详细的剖析。

Published At
Categories with Web编程
Tagged with
comments powered by Disqus