2009年3月29日
摘要: 当我们使用asp.net开发网站,每运行一个页面,这个页面都将经历一个生命周期。了解页的生命周期非常重要,因为这样我们才能在合适的生命周期编写代码实现预期效果。网上有一句话概括非常精辟:"Do the right thing at the right time in the right place."。微软的文档给出的ASP.NET生命周期如下: Code highlighting produce... 阅读全文
posted @ 2009-03-29 18:51 JeffWong 阅读(811) 评论(0) 推荐(0)
  2009年3月28日
摘要: 整理一下常用的排序算法,用c#实现,以备日后再用。Code is cheap.看具体实现吧。1.冒泡排序将被排序的记录数组R[1..n]垂直排列,每个记录R[i]看作是重量为R[i].key的气泡。根据轻气泡不能在重气泡之下的原则,从下往上扫描数组R:凡扫描到违反本原则的轻气泡,就使其向上"飘浮"(冒泡因此得名)。如此反复进行,直到最后任何两个气泡都是轻者在上,重者在下为止。[代码]冒泡算法小结:... 阅读全文
posted @ 2009-03-28 14:04 JeffWong 阅读(1039) 评论(1) 推荐(0)
摘要: 在软件开发系统中,客户程序经常会与复杂系统的内部子系统之间产生耦合,而导致客户程序随着子系统的变化而变化。举例来说,比如利用传统的三层结构,我们开发了一个客户订单管理系统,数据库表包括主要客户表,订单表,产品表。在该应用程序中,有部分操作只是简单的从数据库根据条件提取数据,不需要经过任何处理,而直接将数据显示到网页上,比如客户登陆显示等级和积分。而另外一些操作,比如客户预定定单中计算购买产品的总价... 阅读全文
posted @ 2009-03-28 12:24 JeffWong 阅读(550) 评论(0) 推荐(0)
  2009年3月25日
摘要: 策略模式:它定义了算法家族,分别封装起来,让它们之间可以相互替换,此模式让算法的变化,不会影响到使用算法的用户。举一个示例来说:一个代理机票系统,普通用户和vip用户都可以有三种预定和支付方式。按照普通的编程思路,用工厂方法或者简单工厂,在两种用户的对应类里添加设置用户预定和支付的方法就可以了,这样确实也可以解决问题。但是,如果我们的系统需求发生改变(这个经常吧?!),比如说支付和预定方式都增加了... 阅读全文
posted @ 2009-03-25 20:10 JeffWong 阅读(640) 评论(0) 推荐(0)
摘要: Template Method模式是比较简单的设计模式之一,但它却是代码复用的一项基本的技术.最近频上各大论坛头条的某高校某女生抨击教育事件,让很多人对我国的大中学生的教育普通存在的问题产生共鸣,这些个问题可以很好的阐释这个模式的应用。好了,code is cheap。让代码说话。类图:代码如下:[代码]总结:1.模板方法用最简洁的机制(虚函数的多态性)为很多应用程序框架提供了灵活的扩展点,是代码... 阅读全文
posted @ 2009-03-25 19:22 JeffWong 阅读(507) 评论(0) 推荐(0)
  2009年3月22日
摘要: 事件是委托的一种特殊形式,当发生有意义的事情时,事件处理对象通知过程。 我们接着上一篇的假想场景,并且假设主办方将参会者分两组进行发言,按照事件的方式进行处理。好了,code is cheap,上代码了: 类图: 代码部分: Code Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHi... 阅读全文
posted @ 2009-03-22 17:28 JeffWong 阅读(694) 评论(0) 推荐(1)
摘要: 委托是对函数的封装,可以当做给方法的特征指定一个名称。它本质上就是变相的类型安全的指针。 假想场景:01国际计算机语言大会上,各种计算机语言汇聚一堂,共同探讨计算机语言的发展趋势和优势。由于语言众多,主办方pc和mac决定给每位参会者10分钟发言机会。Code is cheap。看看它们都怎么说: 类图: 代码如下: Code Code highlighting produced by Acti... 阅读全文
posted @ 2009-03-22 17:02 JeffWong 阅读(725) 评论(0) 推荐(0)
  2009年3月15日
摘要: 假想场景:hp和apple是全球知名的电脑生产厂家,他们各自的电脑操作系统分别是windows和macintosh,microsoft是软件行业的龙头。为了吸引更多客户购买电脑,hp和apple请ms为他们开发两款最常用的软件,办公软件和及时通讯工具。ms结了订单后,分别为hp和apple开发了office和msn。上面的场景其实蕴含着我们常见的设计模式思维方式,code is cheap,代码来... 阅读全文
posted @ 2009-03-15 10:10 JeffWong 阅读(951) 评论(3) 推荐(1)
  2009年3月14日
摘要: 场景:微软的windows xp操作系统,ctrl+alt+del键都会弹出一个windows任务管理器(这时不关闭这个任务管理器),继续ctrl+alt+del键还是一个windows任务管理器。鉴于本人水平有限,上面的场景举例可能不合适,但是很接近一个基本的设计模式:单例模式。Code is cheap.下面用c#代码模拟出一个类似任务管理器的创建: Code Code highlightin... 阅读全文
posted @ 2009-03-14 14:46 JeffWong 阅读(2558) 评论(1) 推荐(1)
  2009年2月6日
摘要: 函数是由一个或多个Transact-SQL 语句组成的子程序,可用于封装代码以便重新使用。用户自定义函数(User Defined Functions)是SQL Server 的数据库对象,它不能用于执行一系列改变数据库状态的操作,但它可以像系统函数一样在查询或存储过程等的程序段中使用,也可以像存储过程一样通过EXECUTE 命令来执行。用户自定义函数中存储了一个Transact-SQL 例程,可... 阅读全文
posted @ 2009-02-06 20:29 JeffWong 阅读(3734) 评论(2) 推荐(3)