张子阳 TraceFact

Fire is the test of gold; adversity, of strong man.

  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
  44 随笔 :: 0 文章 :: 1018 评论 :: 56 Trackbacks

2007年9月14日 #

     摘要: 在 C#中的委托和事件 一文的后半部分,我向大家讲述了Observer(观察者)模式,并使用委托和事件实现了这个模式。实际上,不使用委托和事件,一样可以实现Observer模式。在本文中,我将使用GOF的经典方式,再次实现一遍Observer模式,同时将讲述在 C#中的委托和事件 一文中没有提及的推模式(Push)和拉模式(Pull)。  阅读全文
posted @ 2008-06-18 23:39 Jimmy Zhang 阅读(585) | 评论 (11)编辑

     摘要: 在我 模型-视图-提供器 模式 这篇译文中,作者为了说明 MVP 的优点之一,易测性,引入了单元测试和NMock框架。可能有的朋友对这部分不够熟悉,也因为本人翻译水平有限,导致看后感觉不够明朗,所以我就补写了这篇文章,对作者给出的范例程序作了些许简化和整理,让我们一步步地来实现一个符合MVP模式的Web页面。  阅读全文
posted @ 2008-06-15 17:48 Jimmy Zhang 阅读(1415) | 评论 (16)编辑

     摘要: 模型-视图-提供器模式(MVP)是模型-视图-控制器(MVC)模式的一个改进,通过使用这个模式,可以将通常写于页面后置代码(CodeBehind)中的逻辑,委托给一个更易于测试的单独的提供器类中。   阅读全文
posted @ 2008-06-15 17:45 Jimmy Zhang 阅读(269) | 评论 (1)编辑

     摘要: 在这篇文章中,Jeremy Miller向我们讲述了软件设计中的开闭原则,以及相关的 单一责任原则、责任链模式、双重分发 以及 Liskov 替换原则。  阅读全文
posted @ 2008-05-30 23:36 Jimmy Zhang 阅读(390) | 评论 (1)编辑

     摘要: String可能是使用最多的类型,ToString()则应该是大家使用得最多的方法了。然而它不应该仅仅是用来输出类型的名称,如果使用得当,它可以方便地输出我们对类型自定义的格式。本文将循序渐进地讨论ToString(),以及相关的IFormattable、IFormatProvider以及ICustomFormatter接口。   阅读全文
posted @ 2008-05-30 00:33 Jimmy Zhang 阅读(290) | 评论 (3)编辑

     摘要: 本文是《Developing Application Frameworks in .NET》的读书笔记。SAF 是书中的一个范例框架,意为 Simple Application Framework(简单应用程序框架),通过这篇文章,我主要想向大家说明 SAF 中缓存服务的实现方式。   阅读全文
posted @ 2008-05-30 00:31 Jimmy Zhang 阅读(273) | 评论 (2)编辑

     摘要: 本文是《Effective C#》一书第七节的读书笔记。通过这篇文章,我主要想向大家说明一个我们平时可能不太会注意到的问题:创建具有常量性和原子性的值类型。  阅读全文
posted @ 2008-05-30 00:28 Jimmy Zhang 阅读(277) | 评论 (2)编辑

     摘要: 我个人正在按这个曲线学习,打算学习框架设计、打算由开发人员向设计人员进阶的朋友可以做一个参考。  阅读全文
posted @ 2008-05-15 01:11 Jimmy Zhang 阅读(2749) | 评论 (21)编辑

     摘要: 研究与交流软件框架设计思想、分享设计经验。实现你由开发人员到设计人员的蜕变。  阅读全文
posted @ 2008-05-13 23:42 Jimmy Zhang 阅读(2066) | 评论 (39)编辑

     摘要: 我想博客园里大多数的程序员都和我一样,二十多岁的样子,谁都不愿意默默无闻终此一生,那么我们最关心的话题自然是成功、何谓成功、以及如何才能够成功。可能因为自己逐渐长大,慢慢得对于一些事情有了自己的看法,而近期我对脑子里原本模糊不清的思绪进行了些许整理,写下了这些文字。虽然我还不能称为一名成功人士,但我还是想谈谈自己对成功的看法,希望能和大家做点交流。  阅读全文
posted @ 2008-05-12 00:04 Jimmy Zhang 阅读(2680) | 评论 (69)编辑

     摘要: 在Asp.Net中,我们可以通过模板页master page和主题theme来实现网站的风格切换,但是.Net提供的默认设置不够强大和灵活。本文将向大家介绍如何在.Net提供的方法上进行改进和扩展,以提供更加强大的网站风格切换功能。  阅读全文
posted @ 2008-04-25 00:15 Jimmy Zhang 阅读(3462) | 评论 (32)编辑

     摘要: 本文不是讲述.Net Framework中诸多的内置结点如何设置,比如httpHandler、httpModule、membership、roleManager 等。而是讲述.Net中配置的实现方式,以及如何定义、使用我们自定义的结点。  阅读全文
posted @ 2008-04-22 00:11 Jimmy Zhang 阅读(455) | 评论 (8)编辑

     摘要: 大家每天都在看博客,发表评论,实现一个评论系统也是一名Web开发者的基本要求。虽然评论只是一个很普通的功能,但是实现评论的引用,尤其是无限引用,却有一定的困难。身为“网易工程队”的正规军,同时又作为一名程序开发人员,有必要向大家展示一下“盖楼”的方法。  阅读全文
posted @ 2008-03-24 23:08 Jimmy Zhang 阅读(3044) | 评论 (42)编辑

     摘要: 本文中,我们先学习了动态创建对象最常见的两种方式,随后分别讨论了使用Type.InvokeMember()和MethodInfo.Invoke()方法来调用类型的实例方法和静态方法。最后,我们使用反射遍历了System.Drawing.Color结构,并输出了颜色值。   阅读全文
posted @ 2008-03-18 03:42 Jimmy Zhang 阅读(2353) | 评论 (12)编辑

     摘要: 本文是《基于业务对象的筛选》的姐妹篇,在本文中,我详细讨论了IComparable和IComparer接口,并通过实现这两个接口,实现了列表的默认排序、单一属性排序、多属性组合排序。   阅读全文
posted @ 2008-03-18 03:33 Jimmy Zhang 阅读(422) | 评论 (1)编辑

     摘要: 在这篇文章中我先提出了一些开发人员的思维定势:将操作交给数据库去完成。演示了“传统方式的”使用拼装SQL语句完成筛选,以及如何配合缓存来实现基于业务对象(列表)的筛选。   阅读全文
posted @ 2008-03-18 02:53 Jimmy Zhang 阅读(544) | 评论 (10)编辑

     摘要: 本文不是讲述如何进行数据库分页,而将注意力集中在如何实现可定制地 获取页码、获取路径、显示分页链接,并且通过构建一个用户控件来实现代码重用上。   阅读全文
posted @ 2008-02-24 23:01 Jimmy Zhang 阅读(3739) | 评论 (27)编辑

     摘要: 本文涉及了反射的最基础的内容,我们利用反射来自顶向下地查看了程序集、模块、类型、类型成员的信息。  阅读全文
posted @ 2008-02-17 16:42 Jimmy Zhang 阅读(895) | 评论 (5)编辑

     摘要: 本文首先讨论了C#中的两种类型--值类型和引用类型,随后简要回顾了 装箱/拆箱 操作。接着,详细讨论了C#中的对象判等。最后,我们讨论了浅度复制 和深度复制,并比较了它们之间不同。   阅读全文
posted @ 2008-01-31 08:34 Jimmy Zhang 阅读(3776) | 评论 (51)编辑

     摘要: 本文简单介绍了什么是特性、如何创建自定义特性,以及如何通过反射来查看自定义特性。   阅读全文
posted @ 2008-01-27 21:44 Jimmy Zhang 阅读(774) | 评论 (5)编辑

     摘要: 本文通过一个实现遍历枚举字段的范例,以及.Net中如何实现值类型的Equals()方法的例子,简单的引出了反射,说明了反射的一个初步用途 -- 查看类型元数据。  阅读全文
posted @ 2008-01-27 20:46 Jimmy Zhang 阅读(1112) | 评论 (7)编辑

     摘要: 提起Command模式,我想没有什么比一个遥控器的例子更能说明问题了,本文将对Command模式作以简单介绍,我们通过完成这个范例来一步步实现GOF的Command模式。  阅读全文
posted @ 2007-12-20 08:17 Jimmy Zhang 阅读(2003) | 评论 (19)编辑

     摘要: 本文中,我们通过一个常见的给武器(对象)添加宝石(获得额外的状态和行为)的例子,讨论了Decorator设计模式的实现过程。  阅读全文
posted @ 2007-12-14 08:26 Jimmy Zhang 阅读(713) | 评论 (1)编辑

     摘要: 本文中我们通过一个人物外形构建的范例,一步步学习了Abstract Factory抽象工厂模式的实现。  阅读全文
posted @ 2007-12-11 23:52 Jimmy Zhang 阅读(741) | 评论 (5)编辑

     摘要: 在本文中,我们将以一款欧美风格的奇幻角色扮演游戏为背景,通过游戏中角色技能的实现来展示GOF的Strategy设计模式。  阅读全文
posted @ 2007-12-09 17:12 Jimmy Zhang 阅读(801) | 评论 (13)编辑

     摘要: 本文简单地介绍了什么是Http Module 。我们首先了解了Http Module的作用,然后查看了Asp.Net 内置的Module,接着我们介绍了IHttpModule接口,并通过了一个简单的范例实现了此接口,最后我们介绍了 global.asax 文件与Http Module之间的联系。  阅读全文
posted @ 2007-11-25 18:50 Jimmy Zhang 阅读(1525) | 评论 (12)编辑

     摘要: 正则表达式应该算是开发人员应该掌握的一个轻量级的技能,然而,它稀奇古怪地匹配模式总让人们联想起外星语言。本文中,我期望能和大家一道,通过大量的例子,对正则表达式作一个复习和回顾。  阅读全文
posted @ 2007-10-24 14:38 Jimmy Zhang 阅读(3001) | 评论 (34)编辑

     摘要: 作为本系列的第一篇文章,我主要向大家介绍了对象关系映射的一些预备知识和基础概念。主要包括:一对一关系、面向对象基础、关系基础 并对 对象与关系之间存在的差异作了简要的讨论。  阅读全文
posted @ 2007-10-03 12:11 Jimmy Zhang 阅读(2306) | 评论 (15)编辑

     摘要: 本文中,我通过两个范例由浅入深地讲述了 什么是委托、为什么要使用委托、事件的由来、委托和事件对Observer设计模式的意义、.Net Framework 中的委托和事件,对它们的中间代码也做了讨论。
  阅读全文
posted @ 2007-09-23 17:49 Jimmy Zhang 阅读(25940) | 评论 (276)编辑

     摘要: 在本文中,我通过三个实例:图片防盗链、图片验证码、处理自定义后缀名请求,详细介绍了IHttpHandler的实现方法和使用过程。对 IHttpHandlerFactory也作了概要介绍。
  阅读全文
posted @ 2007-09-15 18:34 Jimmy Zhang 阅读(2164) | 评论 (52)编辑

     摘要: 在这篇文章中,Bipin Joshi概要地为我们讲解了什么是Rss、如何在.Net下创建和消费Rss源。本人对使用pubDate标记需要注意的问题和添加浏览器支持的内容做了补充。  阅读全文
posted @ 2007-09-14 08:57 Jimmy Zhang 阅读(1184) | 评论 (11)编辑