
此模式最重要的是让装饰类显示ttextstream能显示的任何部份。这样通常客户对调用装饰类和末装饰的类没有什么不同, 后它们对装饰类不存在任何依赖关系。在本单元的例子中,客户程序不知道它的文本在实际的写操作之前被转换成大写。
|
|
应用
下面的代码演示了类的装饰模式的应用。例子中的ttextstream为装饰类ttextfilter定义了一个抽象的接口。
type
ttextstream = class (tobject)
protected
function getendoftext: boolean; virtual; abstract;
public
function readline: string; virtual; abstract;