摘要: 二、PetShop数据访问层之数据库访问设计在系列一中,我从整体上分析了PetShop的架构设计,并提及了分层的概念。从本部分开始,我将依次对各层进行代码级的分析,以求获得更加细致而深入的 理解。在PetShop 4.0中,由于引入了ASP.Net 2.0的一些新特色,所以数据层的内容也更加的广泛和复杂,包括:数据库访问、Messaging、MemberShip、Profile四部分。在系列 二中... 阅读全文
posted @ 2008-09-02 17:33 chunchill 阅读(228) 评论(0) 推荐(0) 编辑
摘要: 《解剖PetShop》系列之六六 PetShop之表示层设计 表示层(Presentation Layer)的设计可以给系统客户最直接的体验和最十足的信心。正如人与人的相交相识一样,初次见面的感觉总是永难忘怀的。一件交付给客户使用的产品,如果在用户界面(User Interface,UI)上缺乏吸引人的特色,界面不友好,操作不够体贴,即使这件产品性能非常优异,架构设计合理,业务逻辑都满足了客户的... 阅读全文
posted @ 2008-09-02 17:32 chunchill 阅读(270) 评论(0) 推荐(0) 编辑
摘要: 《解剖PetShop》系列之五 五 PetShop之业务逻辑层设计业务逻辑层(Business LogicLayer)无疑是系统架构中体现核心价值的部分。它的关注点主要集中在业务规则的制定、业务流程的实现等与业务需求有关的系统设计,也即是说它是与系统所应对的领域(Domain)逻辑有关,很多时候,我们也将业务逻辑层称为领域层。例如Martin Fowler在《Patterns ofEnterp... 阅读全文
posted @ 2008-09-02 17:28 chunchill 阅读(458) 评论(0) 推荐(0) 编辑
摘要: 前言:PetShop是一个范例,微软用它来展示.Net企业系统开发的能力。业界有许多.Net与J2EE之争,许多数据是从微软的PetShop和Sun的PetStore而来。这种争论不可避免带有浓厚的商业色彩,对于我们开发人员而言,没有必要过多关注。然而PetShop随着版本的不断更新,至现在基于.Net 2.0的PetShop4.0为止,整个设计逐渐变得成熟而优雅,却又很多可以借鉴之处。PetS... 阅读全文
posted @ 2008-09-02 17:25 chunchill 阅读(180) 评论(0) 推荐(0) 编辑
摘要: 《解剖PetShop》系列之三三、PetShop数据访问层之消息处理在进行系统设计时,除了对安全、事务等问题给与足够的重视外,性能也是一个不可避免的问题所在,尤其是一个B/S结构的软件系统,必须充分地考虑访问量、数据流量、服务器负荷的问题。解决性能的瓶颈,除了对硬件系统进行升级外,软件设计的合理性尤为重要。在前面我曾提到,分层式结构设计可能会在一定程度上影响数据访问的性能,然而与它给设计人员带来的... 阅读全文
posted @ 2008-09-02 17:13 chunchill 阅读(194) 评论(0) 推荐(0) 编辑
摘要: 《解剖PetShop》系列之四 四 PetShop之ASP.NET缓存 如果对微型计算机硬件系统有足够的了解,那么我们对于Cache这个名词一定是耳熟能详的。在CPU以及主板的芯片中,都引入了这种名为高速缓冲存储器(Cache)的技术。因为Cache的存取速度比内存快,因而引入Cache能够有效的解决CPU与内存之间的速度不匹配问题。硬件系统可以利用Cache存储CPU访问概率高的那些数据,当C... 阅读全文
posted @ 2008-09-02 16:27 chunchill 阅读(304) 评论(0) 推荐(0) 编辑
摘要: 2using System; 3using System.Data; 4using System.Configuration; 5using System.Collections; 6using System.Web; 7using System.Web.Security; 8using System.Web.UI; 9using System.Web.UI.WebControls;10usi... 阅读全文
posted @ 2008-09-02 08:58 chunchill 阅读(768) 评论(0) 推荐(0) 编辑
摘要: 这次项目当中用到可以拽动的DIV,但是当div越过 Dropdownlist的时候却被它给挡住了,为了解决这个问题,我到网上找下面这样的解决方法: 在要拽动的DIV中加入:其中:this.nextSibling中的nextSibling表示当前元素的下个元素。 阅读全文
posted @ 2008-09-01 17:21 chunchill 阅读(760) 评论(0) 推荐(0) 编辑
摘要: CodeCode highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--> 1using System; 2using System.Data; 3using System.Configuration; 4using System.Collections; 5... 阅读全文
posted @ 2008-08-31 16:41 chunchill 阅读(254) 评论(0) 推荐(0) 编辑
摘要: 反射(Reflection)是.NET中的重要机制,通过放射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。 1、.NET可执行应用程序结构 程序代码在编译后生成可执行的... 阅读全文
posted @ 2008-08-27 22:58 chunchill 阅读(245) 评论(0) 推荐(0) 编辑
摘要: 为了大家更容易理解我举出的SQL语句,本文假定已经建立了一个学生成绩管理数据库,全文均以学生成绩的管理为例来描述。 1.在查询结果中显示列名: a.用as关键字:select name as 姓名 from students order by age b.直接表示:select name 姓名 from students order by age 2.精确查找: a.用... 阅读全文
posted @ 2008-08-25 22:20 chunchill 阅读(208) 评论(0) 推荐(0) 编辑
摘要: 一 事务处理介绍 事务是这样一种机制,它确保多个SQL语句被当作单个工作单 元来处理。事务具有以下的作用: * 一致性:同时进行的查询和更新彼此不会发生冲突,其他 用户不会看到发生了变化但尚未提交的数据。 * 可恢复性:一旦系统故障,数据库会自动地完全恢复未完 成的事务。 二 事务与一致性 事务是完整性的单位,一个事务的执行是把数据库从一个一 致的状态转换成另一个一致的状态。因此,如果事务孤立执行... 阅读全文
posted @ 2008-08-25 20:40 chunchill 阅读(949) 评论(0) 推荐(0) 编辑
摘要: UNION UNION 命令用于从两个表中选取相关的信息,很类似 JOIN 命令。不过,当使用 UNION 命令时,所有被选取的列的数据类型应该是相同的。 注释:如使用 UNION,那么只有不同的值会被选取。 SQL Statement 1 UNION SQL Statement 2 下面的例子中使用的原始表: Employees_China: E_IDE_Name 01 Zha... 阅读全文
posted @ 2008-08-25 17:35 chunchill 阅读(296) 评论(0) 推荐(0) 编辑
摘要: 如果你已经有较多的面向对象开发经验,跳过以下这两步: 第一步 掌握一门.NET面向对象语言,C#或VB.NET 我强烈反对在没系统学过一门面向对象(OO)语言的前提下去学ASP.NET。 ASP.NET是一个全面向对象的技术,不懂OO,那绝对学不下去! 第二步 对.NET Framework类库有一定的了解 可以通过开发Windows Form应用程序来学习.NET Framework。A... 阅读全文
posted @ 2008-08-14 09:57 chunchill 阅读(247) 评论(1) 推荐(0) 编辑
摘要: 数据类型 类型 描 述 bit 整型 bit 数据类型是整型,其值只能是0、1或空值。这种数据类型用于存储只有两种可能值的数据,如Yes 或No、True 或Fa lse 、On 或Off int 整型 int 数据类型可以存储从- 231(-2147483648)到231 (2147483 647... 阅读全文
posted @ 2008-08-10 08:56 chunchill 阅读(343) 评论(0) 推荐(0) 编辑