摘要:
代码中,InsertUser()方法就是负责用户的创建,而在之前则需要判断创建的用户是否已经存在。InsertUser()方法的定义如下:privatestaticboolInsertUser(OracleTransactiontransaction,intuserId,stringemail,stringpassword,intpassFormat,stringpassSalt,stringpa... 阅读全文
摘要:
6.4 ASP.NET 2.0新特性由于PetShop 4.0是基于.NET Framework 2.0平台开发的电子商务系统,因而它在表示层也引入了许多ASP.NET 2.0的新特性,例如MemberShip、Profile、Master Page、登录控件等特性。接下来,我将结合PetShop 4.0的设计分别介绍它们的实现。6.4.1 Profile特性Profile提供的功能是针对用户的个... 阅读全文
摘要:
五 PetShop之业务逻辑层设计业务逻辑层(Business Logic Layer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns of Enterprise Application... 阅读全文
摘要:
六 PetShop之表示层设计表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的需求,却仍然难以讨得客户的欢心。俗... 阅读全文
摘要:
三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。在前面我曾提到,分层式结构设计可能会在一定程度上影响数据访问的性能,然而与它给设计人员带来的好处相比,几乎可以忽略。要提供... 阅读全文
摘要:
四 PetShop之ASP.NET缓存如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当CPU需要访问这些数据时,可以直接从C... 阅读全文
摘要:
前言:PetShop 是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的 PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。Pet... 阅读全文
摘要:
在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列二中,我将介绍有关数据库访问的设计。在PetShop... 阅读全文
摘要:
中午看了一下SqlServerDAL,画了一个图先贴上来。SQL数据访问层设计专为SQLServer数据库而设计的。该层是整个项目的最底层!SQLHelper通过一组静态方法来封装数据的访问功能。(DAAB.NET SQLHelper完整代码偶全打印出来了,删了一些注释后共21页。留着上课不想听课时候看。)SQLHelper.cs类为 Account.cs 、Inventory.cs、Item.c... 阅读全文
摘要:
前几天正好解决了个通用数据持久访问层,特此拿出来奉献下~~~鲜花的鲜花,鸡蛋的鸡蛋~~~嘿嘿! 特点: 1。适合中小企业数据访问架构,其实大架构也没问题的,毕竟数据处理都放在了DB Server; 2。使用的数据工厂和泛型反射工厂,所以,支持目前所有的数据库系统,只要改改web.config就搞定了; 3。使用HashTabl... 阅读全文
摘要:
项目列表:从整体可以看出,Pet Shop 4的项目体系已经很庞大,考虑的方面也较3.0更全面复杂。 序号 项目名称 描述 1 BLL 业务逻辑层 2 CacheDependencyFactory 缓存依赖类的工厂类 3 WEB 表示层 4 DALFactory 数据层的抽象工厂 5 DBUtility 数据访问类组件 6 ... 阅读全文
摘要:
地址:http://chs.gotdotnet.com/quickstart/ 描述:本站点是微软.NET技术的快速入门网站,我们不必再安装.NET Framework中的快速入门示例程序,直接在网上查看此示例即看。 **************************************************** 名称:微软官方.NET指导站点 地址:h... 阅读全文
摘要:
下面是一个将DataGrid中的数据生成Excel文档的方法,其中System.Web.UI.Control ctl指DataGrid的ID, FileName指要生成Excel文件的名称。 //生成Excel文件 public void ToExcel(System.Web.UI.Control ctl, string FileName) { //设置... 阅读全文
摘要:
在.NET 2.0正式版中开发无刷新页面(http://searchwebservices.techtarget.com.cn)2007-05-14 23:42在已经发布的 ASP.NET2.0 中,无刷新页面开发相关部分同 beta2 有不少改动。而且在越来越多的 Ajax 开发包被开发出来的情况下, ASP.NET2.0 自带的无刷新页面技术没有被很多人了解,甚至不少人认为该功能有些“鸡肋”。... 阅读全文
摘要:
简单工厂模式:其作用是实例化对象而不需要客户了解这个对象属于那个具体的子类。下面是一个简单工厂模式的一个Demo: using System;using System.Collections.Generic;using System.Text;using System.Configuration; namespace Factory{ public class Class1 { ... 阅读全文
摘要:
Chart.aspx.cs的代码:using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControl... 阅读全文
摘要:
1 创建用于反射使用的DLL 新建一个C#类库项目,拷贝源代码如下,编译生成DLL(假如DLL的文件名是TestReflect.dll) 1using System;23namespace Webtest4{5 /**//// 6 /// ReflectTest 的摘要说明。7 /// 8 public class ReflectTest9 {10 public ReflectTest... 阅读全文