摘要: 理解:当有两个变化点在同时变化时使用该模式,例如("人"<中国人、美国人、日本人> 驾驶 "车"<自行车、汽车、火车>) 代码: 客户端代码: 阅读全文
posted @ 2012-03-01 00:09 无主之城 阅读(145) 评论(0) 推荐(0) 编辑
摘要: 理解:当一件事情需要一级一级地处理时,并且每一级都有指定的下一级来处理,就好像工厂里面一个员工要请假,会先把请假条拿给领班,领班看能否处理,不能再传给主管,主管如果也不能处理再传给经理,经理不能处理再往上传。 代码:一个数据报文在路由之间传递实例 客户端代码: 阅读全文
posted @ 2012-02-29 23:38 无主之城 阅读(185) 评论(0) 推荐(0) 编辑
摘要: 理解:通过一个中介类,把所有对象都关联中介类,对象间要相互联系时,实际上是通过中介联系,这样对象间仍然是低耦合。 代码: using System.Windows.Forms;namespace DesignMode.Mediator{ //抽象中介类 public abstract class C 阅读全文
posted @ 2012-02-23 01:46 无主之城 阅读(461) 评论(0) 推荐(0) 编辑
摘要: 理解:当一件事件(基类),在不同的时间或者不同的地点需要不同的策略时,考虑用该模式,好处就是修改或者添加某个子策略时不会影响其它子策略,也不用去修改客户端 代码: using System.Windows.Forms;namespace DesignMode.Strategy{ //4S手机抽象类 阅读全文
posted @ 2012-02-22 12:06 无主之城 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 理解:通过在类中定义一个Clone方法克隆自己,分为深COPY 和 浅COPY; 现在NET中,继承了ICloneable接口的类都可以重写Clone()方法。 代码: //原型类 [Serializable] public abstract class PrototypeClass { publi 阅读全文
posted @ 2012-02-22 01:00 无主之城 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 理解:把每个命令封装成一个类,当发令者要发布多个命令时,可以一个个排队地发布给接收者,同时记录下每个命令的详细信息,发布时间等。还可以撤销已发布的命令。 代码: using System.Collections.Generic;using System.Windows.Forms;namespace 阅读全文
posted @ 2012-02-22 00:45 无主之城 阅读(1147) 评论(0) 推荐(0) 编辑
摘要: 理解:当父类中有一个复杂主方法,主方法中大部分不变,只有小部分随子类变化时,把变化点提取出来成新的抽象子方法,让不同的子类去实现不同的子方法。这样主方法不变的部分就可以达到代码复用功能。 代码: using System.Windows.Forms;namespace DesignMode.Temp 阅读全文
posted @ 2012-02-21 19:26 无主之城 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 作用:针对已经有固定功能的类,想要添加新的小功能或者属性,把这些小功能或者属性放到装饰类里,客户端可以动态地选择用哪些装饰类去修饰原有的类。代码如下: } 客户端代码: } 阅读全文
posted @ 2012-02-21 02:15 无主之城 阅读(196) 评论(0) 推荐(0) 编辑
摘要: 该模式主要是针对客户端要同时操作多个子系统时,可以在客户端和子系统之间建立一个外观类,这样客户端只需要操作外观类就可以了,用法实例比如多层架构中,上层通过接口对下层的进行调用, 该模式代码如下: using System.Windows.Forms; namespace DesignMode.Fac 阅读全文
posted @ 2012-02-21 01:13 无主之城 阅读(281) 评论(0) 推荐(0) 编辑
摘要: 保证一个类仅有一个实例,并提供一个访问点,代码如下: 多线程单例代码如下: 阅读全文
posted @ 2012-02-20 13:47 无主之城 阅读(1732) 评论(1) 推荐(0) 编辑