您现在的位置:首页 >> VCL >> VCL >> 内容

在Delphi 7中实现可继承可扩展的单例模式

时间:2011/9/3 16:25:03 点击:

  核心提示:Delphi 7尚不支持静态域,是否就做不出单例呢?其实是没必要担心的,在刘艺所著的《Delphi模式编程》中,就给了多种实现单例的方法。我比较喜欢第一种,也就是利用{$J+}下常量可写的方法来保存单...

Delphi 7尚不支持静态域,是否就做不出单例呢?其实是没必要担心的,在刘艺所著的《Delphi模式编程》中,就给了多种实现单例的方法。我比较喜欢第一种,也就是利用{$J+}下常量可写的方法来保存单例。然而最近使用的时候,发现了一些问题:如果TFooA和TFooB直接继承了书中说的TSingleton,会发现TFooA和TFooB实际用的都是TSingleton里面的实例,这样在单例子类扩充单例父类的时候就会有些问题;虽然每个单例类都复制一份TSingleton的代码,然后在里面加自己的方法,可以解决问题,但是我们更希望直接从父类继承,尽量少重复实现相同的方法。因此我试图完善了那份代码,方便日后使用。在这里,每个单例子类都要覆盖AccessInstance这个方法,来保存自己的单例。AccessInstance的实现是完全一样的,且很简单,完全可以满足大家的CTRL+C欲望(笑)。最后加入了两个事件。

例程代码已经打包



迅雷专用高速下载

作者:harryfin 来源:转载
共有评论 0相关评论
发表我的评论
  • 大名:
  • 内容:
本类推荐
  • 没有
本类固顶
  • 没有
  • 盒子文章(www.2ccc.com) © 2020 版权所有 All Rights Reserved.
  • 沪ICP备05001939号