摘要: 通过解释器模式实现阿拉伯数字与罗马数字的相互转换。具体的模式分析解说日后补发。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) 编辑