摘要: 通过解释器模式实现阿拉伯数字与罗马数字的相互转换。具体的模式分析解说日后补发。Delphi代码:unituInt2RomeInterpreter;{单元说明:将整数转换为罗马数字Interpreter解释器模式练习。作者:张树坤时间:2008-06-11}interfacetypeTInt2RomeContext=class;TRomeCharList=array[1..9]ofstring;TI... 阅读全文
posted @ 2008-06-13 17:18 treemon 阅读(682) 评论(0) 推荐(0) 编辑
摘要: 模式编程法则1、开闭法则(OCP) 开闭法则(Open Closed Principle, OCP):软件实体(模块)应该易于扩展(开放),但免于修改(关闭)。2、Liskov代换法则(LSP) Liskov代换法则(Liskov Substitution Principle, LSP)派生类应该可以用其基类代换。3、依赖反转法则(DIP) 依赖反转法则(Dependency Inversion ... 阅读全文
posted @ 2008-06-13 16:54 treemon 阅读(514) 评论(0) 推荐(0) 编辑
摘要: 模式解说: 责任链模式是一种对象的行为模式,它将处理客户端请求的那些对象连成一条链,并沿着这条链传递请求,直到有一个对象处理它为止。其目的是使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。 UML结构图//先看一个复杂的if语句,我已经将该语句在面向过程的范围内进行了重构,看起来好一点。unituAudit;interfacetypeTAudit=class(TObject... 阅读全文
posted @ 2008-06-13 16:50 treemon 阅读(350) 评论(0) 推荐(0) 编辑
摘要: 一个使用Builder模式进行电脑组装的序列图:模式解说: 将一个复杂对象的建造方法从其表现中分离出来,以便同样的建造方法可以建立不同的表现。 模式结构: TAbstractBuilder:抽象建造者;定义一个抽象接口以创建产品对象的各个部分。 TConcreteBuilder:具体建造者;实现建造者接口,以创建及装配产品的各个部分。分步骤完成建造工作,在最后提供一个接口来返回该产品的实例。 TD... 阅读全文
posted @ 2008-06-13 16:42 treemon 阅读(292) 评论(0) 推荐(0) 编辑
摘要: 模式解说: 命令模式将一个请求封装为一个对象,从而可用不同的请求对客户进行参数化,对请求排队或记录请求日志,以及支持可撤销的操作。 Comnand模式的思想是把命令封装在一个类中,就是这里的ICommand接口,同时把接收对象也封装在一个类中就是这里的TReceiver类中,由调用这个命令的类祈求者TInvoker类来调用。 Comnand模式和面向过程的回调函数是一样的,注册回调函数和为具体的命... 阅读全文
posted @ 2008-06-13 16:33 treemon 阅读(462) 评论(2) 推荐(0) 编辑
摘要: 模式解说: 代理模式是为某个对象的访问提供一个代理对象,而不是直接去控制这个对象。这个代理对象在客户端和源对象之间起着中介的作用。 模式结构: TProxy:代理;负责维护一个引用,使得代理可以访问真实的主题对象。代理经常被用作在需要使用真实的主题对象时才使创建真实对象,在没有使用之前仅仅是用代理占位。 TSubject:抽象主题;定义TRealSubject和TProxy的共同... 阅读全文
posted @ 2008-06-06 23:20 treemon 阅读(501) 评论(0) 推荐(0) 编辑
摘要: 模式解说: 享元模式使用共享技术有效的支持大量细粒度的对象。 享元模式使用大家共享一个对象(元对象),从而避免了大量拥有相似内容的小对象的开销,节省了内存。 享元模式可以用来设计对象池(Object Pooling)。 模式结构: TFlyweight:抽象享元;用于申明一个公共接口,使得享元可以接受和作用外部状态。 TConcreteFlyweight:具体享元;实现抽象享元... 阅读全文
posted @ 2008-06-06 23:17 treemon 阅读(405) 评论(0) 推荐(0) 编辑
摘要: 模式解说: 合成模式把多个对象合成为树状结构用以表现“个别-整体”的层次结构。合成模式让客户端能够用统一的方法处理单个对象和合成对象。 模式结构: TComponent:抽象部件;声明合成对象的接口;实现所有类通用接口的缺省行为; TLeaf:叶部件;表示合成中的叶节点对象;叶对象无字节点; TComposite:合成部件;表示合成中的枝节点对象;拥有子部件(子节点); TC... 阅读全文
posted @ 2008-06-06 13:36 treemon 阅读(536) 评论(0) 推荐(0) 编辑
摘要: 设计模式 阅读全文
posted @ 2008-06-06 08:15 treemon 阅读(353) 评论(0) 推荐(0) 编辑
摘要: 对象模型描述了系统的静态结构,它提供了系统中的对象、对象之间的关系、标识每一对象类的属性及行为。 在模式编程中首先要了解对象模型,这是理解设计模式的前提和重点。 对象:是一种概念、一种抽象,是问题域中有着明确意义的事物。 类:描述了一组具有相同属性、行为、共同语法特征以及和其它对象有着相同联系的对象。 属性:对象拥有的数据值。 行为:是一种功能作用于对象。 联系:是两个对象... 阅读全文
posted @ 2008-06-06 07:15 treemon 阅读(306) 评论(0) 推荐(0) 编辑