Terry's blog

是建高楼大厦,还是搭窝棚?--------我要建高楼大厦。"只要决心成功,失败就不会把我们击垮" -------《羊皮卷》

博客园 首页 新随笔 联系 订阅 管理
  337 Posts :: 1 Stories :: 230 Comments :: 51 Trackbacks

09 2007 档案

posted @ 2007-09-29 14:38 王晓成 阅读(1447) | 评论 (1) 编辑

posted @ 2007-09-28 16:07 王晓成 阅读(1129) | 评论 (0) 编辑

摘要: 算法与对象的耦合: 对象可能经常需要使用多种不同的算法,但是如果变化频繁,会将类型变得脆弱... 动机: 在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担。 如何在运行时根据需要透明地更改对象的算法?将算法与对象本身解耦,从而避免上述问题?意图: 定义一系统的算法,把它们一个个封装起来,并且使...阅读全文
posted @ 2007-09-27 16:25 王晓成 阅读(1256) | 评论 (0) 编辑

posted @ 2007-09-26 14:24 王晓成 阅读(1065) | 评论 (1) 编辑

摘要: 动机(Motivate): 在软件构建过程中,一个请求可能被多个对象处理,但是每个请求在运行时只能有一个接受者,如果显示指定,将必不可少地带来请求发送者与接受者的紧耦合。 如何使请求的发送者不需要指定具体的接受者?让请求的接受者自己在运行时决定来处理请求,从而使两者解耦。意图(Intent): 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这...阅读全文
posted @ 2007-09-25 16:47 王晓成 阅读(969) | 评论 (0) 编辑

摘要: 依赖关系的转化: 动机(Motivate): 在软件构建过程中,经常会出现多个对象互相关联交互的情况,对象之间常常会维持一种复杂的引用关系,如果遇到一些需求的更改,这种直接的引用关系将面临不断的变化。 在这种情况下,我们可使用一个“中介对象”来管理对象间的关联关系,避免相互交互的对象之间的紧耦合引用关系,从而更好地抵御变化。意图(Intent): 用一个中介对象来封装一系列...阅读全文
posted @ 2007-09-24 15:25 王晓成 阅读(1102) | 评论 (1) 编辑

摘要: 动机(Motivate): 在软件构建过程中,如果某一特定领域的问题比较复杂,类似的模式不断重复出现,如果使用普通的编程方式来实现将面临非常频繁的变化。 在这种情况下,将特定领域的问题表达为某种文法规则下的句子,然后构建一个解释器来解释这样的句子,从而达到解决问题的目的。意图(Intent): 给定一个语言,定义它的文法的一种表示,并定义一个解释器,这个解释器使用该表示来解释语言中的句子。结构图(...阅读全文
posted @ 2007-09-20 16:47 王晓成 阅读(1259) | 评论 (1) 编辑

摘要: 动机(Motivate): 在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系” --------一个对象(目标对象)的状态发生改变,所有的依赖对象(观察者对象)都将得到通知。如果这样的依赖关系过于紧密,将使软件不能很好地抵御变化。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。意图(Intent): 定义对象间的一...阅读全文
posted @ 2007-09-19 17:52 王晓成 阅读(2956) | 评论 (14) 编辑

posted @ 2007-09-18 17:42 王晓成 阅读(46) | 评论 (0) 编辑

posted @ 2007-09-18 10:43 王晓成 阅读(1015) | 评论 (0) 编辑

posted @ 2007-09-17 17:49 王晓成 阅读(1275) | 评论 (0) 编辑

摘要: 面向对象(Object Oriented,OO)是当前计算机界关心的重点,它是90年代软件开发方法的主流。面向对象的概念和应用已超越了程序设计和软件开发,扩展到很宽的范围。如数据库系统、交互式界面、应用结构、应用平台、分布式系统、网络管理结构、CAD技术、人工智能等领域。 谈到面向对象,这方面的文章非常多。但是,明确地给出对象的定义或说明对象的定义的非常少——至少我现在还没有发现。其初,̶...阅读全文
posted @ 2007-09-14 16:36 王晓成 阅读(613) | 评论 (2) 编辑

posted @ 2007-09-14 15:23 王晓成 阅读(559) | 评论 (0) 编辑

posted @ 2007-09-14 15:12 王晓成 阅读(145) | 评论 (0) 编辑

摘要: 方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。 若要使用 out 参数,必须将参数作为 out 参数显式传递到方法。out 参数的值不会传递到 out 参数。 不必初...阅读全文
posted @ 2007-09-14 14:44 王晓成 阅读(307) | 评论 (0) 编辑

posted @ 2007-09-14 11:21 王晓成 阅读(1148) | 评论 (0) 编辑

posted @ 2007-09-14 09:41 王晓成 阅读(806) | 评论 (1) 编辑

posted @ 2007-09-14 09:33 王晓成 阅读(229) | 评论 (0) 编辑

posted @ 2007-09-13 12:42 王晓成 阅读(1092) | 评论 (0) 编辑

posted @ 2007-09-12 11:29 王晓成 阅读(1120) | 评论 (0) 编辑

posted @ 2007-09-11 17:33 王晓成 阅读(79) | 评论 (0) 编辑

posted @ 2007-09-11 11:49 王晓成 阅读(1365) | 评论 (1) 编辑

posted @ 2007-09-07 16:30 王晓成 阅读(1339) | 评论 (0) 编辑

摘要: 子类复子类,子类何其多 假如我们需要为游戏中开发一种坦克,除了各种不同型号的坦克外,我们还希望在不同场合中为其增加以下一种或多种功能;比如红外线夜视功能,比如水陆两栖功能,比如卫星定位功能等等。按类继承的作法如下: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.c...阅读全文
posted @ 2007-09-06 15:55 王晓成 阅读(1301) | 评论 (0) 编辑

posted @ 2007-09-05 14:32 王晓成 阅读(1374) | 评论 (0) 编辑

posted @ 2007-09-04 16:47 王晓成 阅读(1526) | 评论 (0) 编辑

摘要: 依赖关系倒置: 动机(Motivate): 在软件系统中,经常面临着“某些结构复杂的对象”的创建工作;由于需求的变化,这些对象经常面临着剧烈的变化,但是它们却拥有比较稳定一致的接口。 如何应对这种变化?如何向“客户程序(使用这些对象的程序)"隔离出“这些易变对象”,从而使得“依赖这些易变对象的客户程序”不随着需求改...阅读全文
posted @ 2007-09-03 11:37 王晓成 阅读(1628) | 评论 (0) 编辑