delphi – 这个设计模式的名称是什么?
发布时间:2020-12-15 09:23:04 所属栏目:大数据 来源:网络整理
导读:我经常发现自己编写的类是这样使用的: 创建类的对象 在该对象上调用一些“运行”或“执行”方法 摧毁物体 这会给调用代码增加一些开销,例如: var Foo: TFoo;begin Foo := TFoo.Create(...); try Foo.Run(...); finally Foo.Free; end;end; 这可以写得更短
我经常发现自己编写的类是这样使用的:
>创建类的对象 这会给调用代码增加一些开销,例如: var Foo: TFoo; begin Foo := TFoo.Create(...); try Foo.Run(...); finally Foo.Free; end; end; 这可以写得更短: begin TFoo.Run(...); end; 在这种情况下,包含TFoo类的单元将如下所示: type TFoo = class private FBar: TBar; procedure InternalRun; public class procedure Run(ABar: TBar); static; end; class procedure TFoo.Run(ABar: TBar); var Foo: TFoo; begin Foo := TFoo.Create; try Foo.FBar := ABar; Foo.InternalRun; finally Foo.Free; end; end; 开销从调用代码移动到TFoo类. 这种设计模式的名称是什么? 解决方法
如果我快速浏览一下
Portland Pattern Repository,你问题的第一部分就像
MethodObject pattern非常接近.
但是既然你正在寻找后一位的名称,它被称为class method,它不是一种模式,它是一种语言结构. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |