吾创Web

吾创网

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

2007年9月17日

摘要: ----msdn上关于PetShop3.0的介绍---- http://www.microsoft.com/china/MSDN/library/enterprisedevelopment/builddistapp/Microsoft.NETPetShop3.x-DesignPatternsandArchitectureofthe.NETPetShop.mspx ----网上高手的PetShop3.0数据层设计分析报告---- http://cocoboy79.w4.51web.cn/Documents/MSPetShop3.0%20Report.htm 关于该系统的大致介绍可以从上面的连接获得,都是中文的。 下面来分析一下PetShop3.0的用户注册部分(我今早上刚研究的,哈,趁热端出来) PetShop3.0是业务实体和业务逻辑分开的,并且在表示层上也有逻辑处理。业务实体部分从前到后都有用到。实际上,在传递数据的时候就是传递的一个实体,而不是像我们一般用的一个变量一个变量的传,在用户注册中也是这样。 阅读全文
posted @ 2007-09-17 12:11 阿福哥 阅读(279) 评论(0) 推荐(0) 编辑

摘要: 1.ms介绍 为了简化数据库访问类的使用,我们选择 GoF (译注:指 Erich Gamma 等著《设计模式》一书)概述的工厂设计模式,通过反射动态在运行时加载正确的数据访问对象。 工厂设计模式是这样实现的: 创建一个 C# 接口,其中对于数据库访问类必须公开的每个方法都要声明一个方法。 对于每一个要支持的数据库,都创建一个实现数据库特定代码的具体类,以执行接口也称“协定”中的每一项操作。 为了支持运行时确定加载哪一个具体类,需要创建第三个类,也就是工厂类,它从配置文件中读入一个值以确定应该使用反射加载哪一个程序集。 通过 .NET 的反射命名空间,可以加载某个特定程序集并用该程序集创建某个对象的实例。 为了使应用程序更安全,为版本控制提供更好的支持,我们可以在应用程序配置文件(也就是这里的 web.config. )中添加要加载的程序集文件的“证据”,这意味着 .NET 框架将只加载我们在编译期间签过名而且有正确版本号的程序集。 图 10 说明了业务逻辑类、工厂类和数据库访问类是如何相互操作的。 这一创建的解决方案最重要的优势是数据库访问类可以在业务逻辑类之后编译,只要数据 阅读全文
posted @ 2007-09-17 11:55 阿福哥 阅读(113) 评论(0) 推荐(0) 编辑

摘要: 看一下SQLServerDAL,前面有高人说了,那个SQLHelper类似于daab for .net,因此在这里我就不多话了,对daab for .net的讨论可以参看msdn的相关文章。 来看Account.cs,里面有一个GetAddress方法,用来通过用户名获得用户资料。在这里面主要是分两步,第一步是获得参数并给其赋值,第二步是使用SqlDataReader来从数据库取值。 阅读全文
posted @ 2007-09-17 11:51 阿福哥 阅读(295) 评论(0) 推荐(0) 编辑

摘要: 看一下SQLServerDAL,前面有高人说了,那个SQLHelper类似于daab for .net,因此在这里我就不多话了,对daab for .net的讨论可以参看msdn的相关文章。 来看Account.cs,里面有一个GetAddress方法,用来通过用户名获得用户资料。在这里面主要是分两步,第一步是获得参数并给其赋值,第二步是使用SqlDataReader来从数据库取值。 阅读全文
posted @ 2007-09-17 11:50 阿福哥 阅读(132) 评论(0) 推荐(0) 编辑

摘要: 还记得用户注册时收集信息的方式吗?下面这几句: //...... AddressInfo address = addr.Address; //..... AccountInfo accountInfo = new AccountInfo(userId, password, email, address, language, favCategory, showFavorites, showBanners); //..... ccountController.CreateAccount(accountInfo) 阅读全文
posted @ 2007-09-17 11:50 阿福哥 阅读(188) 评论(0) 推荐(0) 编辑

摘要: 点proceed to checkout后,就进入Checkout.aspx,确认后进入OrderBilling.aspx,在这里可以修改你的信息,完成后点continue,会出现个人信息的只读页面,最终确认后就进入OrderProcess.aspx,在这里是定单的详细情况,并且是只读的,到这里,定单被添加到数据库,购物完成。Checkout.aspx把数据从Session中取出来,然后显示到页面,没什么好说的。 阅读全文
posted @ 2007-09-17 11:47 阿福哥 阅读(127) 评论(0) 推荐(0) 编辑

摘要: 终于到购物车了,在看这个之前应该已经明白了第三篇的那个模型,这样购物车基本也就明白了。来看一下ShoppingCart.aspx这个页。当你看好了一个宠物,比如可爱的Golden Retriever,嘿嘿,那就点add to cart按钮,这时就会跳到ShoppingCart.aspx,url里带了这个宠物的id号,根据该id号程序将该宠物放到cart里面。然后你可以再去挑别的宠物,比如一只猫(……),虽然这不是什么好主意。然后该宠物的id号又会被传到ShoppingCart.aspx,并添加到cart里面。在ShoppingCart.aspx里,你可以更改想要领养的宠物的数量,然后程序会根据你要求的数量来计算所需的钱以及该宠物是否还有剩余。在你做出决定后可以点proceed to checkout进入定单生成的环节。 阅读全文
posted @ 2007-09-17 11:46 阿福哥 阅读(186) 评论(0) 推荐(0) 编辑

摘要: 今天晚上看了近两个小时的购物车,基本把原理弄明白了,先写一个类似结构的类来简单的演示一下Store类模仿购物车内的物品public class Store{private string name;private int id;private DateTime time;public Store(string name,int id,DateTime time){this.name=name;this.id=id;this.time=time;} 阅读全文
posted @ 2007-09-17 11:45 阿福哥 阅读(169) 评论(0) 推荐(0) 编辑

摘要: 宠物展示,也就是商品展示(汗……)涉及到这个主题的页有Category.aspx / Items.aspx / ItemDetails.aspx,分别是大类/小类/详细信息这三个。下面来一个一个的分析要注意的是,像第一篇说的,数据的传递都是采用直接传递业务实体的方法来完成。这样是不是有很强的面向对象的味道?Category.aspx该页面的主体是一个用户自定义控件:SimplePager,该空间继承自Repeater,作用当然是存放宠物信息,他的数据源的获得方式使用了.net的缓存api。 阅读全文
posted @ 2007-09-17 11:44 阿福哥 阅读(160) 评论(0) 推荐(0) 编辑

摘要: ----msdn上关于PetShop3.0的介绍---- ----网上高手的PetShop3.0数据层设计分析报告---- 关于该系统的大致介绍可以从上面的连接获得,都是中文的。下面来分析一下PetShop3.0的用户注册部分(我今早上刚研究的,哈,趁热端出来)PetShop3.0是业务实体和业务逻辑分开的,并且在表示层上也有逻辑处理。业务实体部分从前到后都有用到。实际上,在传递数据的时候就是传递的一个实体,而不是像我们一般用的一个变量一个变量的传,在用户注册中也是这样。注册页面是CreateAccount.aspx,这里有一个usercontrol:AddressUI,用来收集用户的一般信息,其他的个人网站设定和用户名密码什么的都是分开来取的,通过提取 阅读全文
posted @ 2007-09-17 11:43 阿福哥 阅读(445) 评论(1) 推荐(0) 编辑

摘要: 二、PetShop数据访问层之数据库访问设计 在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列二中,我将介绍有关数据库访问的设计。 在PetShop中,系统需要处理的数据库对象分为两类:一是数据实体,对应数据库中相应的数据表。它们没有行为,仅用于表现对象的数据。这些实体类都被放到Model程序集中,例如数据表Order对应的实体类OrderInfo,其类图如下: 阅读全文
posted @ 2007-09-17 11:41 阿福哥 阅读(113) 评论(0) 推荐(0) 编辑

摘要: 前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetShop是一个小型的项目,系统架构与代码都比较简单,却也凸现了许多颇有价值的设计与开发理念。本系列试图对PetShop作一个全方位的解剖,依据的代码是PetShop4.0,可以从链接http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnbda/html/bdasamppet4.asp中获得。 阅读全文
posted @ 2007-09-17 11:37 阿福哥 阅读(118) 评论(0) 推荐(0) 编辑