设计模式:单例模式(Singleton)(1)

单例模式应该是 VFP 开发者最熟悉的一种设计模式。VFP 中的系统变量 _Screen 和 _vfp 就是运行时内置的单例对象。该模式的核心就是在一个应用程序生命周期中仅存在唯一的类实例。因此,在 VFP 中,最简单的实现方式就是在 VF

设计模式:单例模式(Singleton)(1)

单例模式应该是 VFP 开发者最熟悉的一种设计模式。

VFP 中的系统变量 _Screen 和 _vfp 就是运行时内置的单例对象。

该模式的核心就是在一个应用程序生命周期中仅存在唯一的类实例。因此,在 VFP 中,最简单的实现方式就是在 VFP 主程序中存在类似下面的代码:

代码语言:javascript代码运行次数:0运行复制
Public goSingleton
m.goSingleton = CreateObject("Custom")

但是,还有一个更好的方式:

代码语言:javascript代码运行次数:0运行复制
_Screen.AddProperty("oSingleton", CreateObject("Custom"))

由于 VFP 并非现代OOP编程语言,因此,必须依据所创建的方式在类定义中予以保证所创建的类的类实例在整个应用程序周期中仅创建一个:

代码语言:javascript代码运行次数:0运行复制
Define Class Singleton As Custom
	*!* 属性定义

	Procedure Init()
		If Vartype(_Screen.oSingleton) = "O"
			Return .F.
		Endif
	Endproc

	*!* 其他事件/方法定义
Enddefine

尽管在 VFP 中该设计模式看上去比较简单,但是在 .NET 平台下,它并不像 VFP 中看上去的那样简单。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。原始发表:2025-04-25,如有侵权请联系 cloudcommunity@tencent 删除开发者设计模式事件singleton单例模式

发布者:admin,转转请注明出处:http://www.yc00.com/web/1747511134a4647005.html

相关推荐

  • 设计模式:单例模式(Singleton)(1)

    单例模式应该是 VFP 开发者最熟悉的一种设计模式。VFP 中的系统变量 _Screen 和 _vfp 就是运行时内置的单例对象。该模式的核心就是在一个应用程序生命周期中仅存在唯一的类实例。因此,在 VFP 中,最简单的实现方式就是在 VF

    13小时前
    10

发表回复

评论列表(0条)

  • 暂无评论

联系我们

400-800-8888

在线咨询: QQ交谈

邮件:admin@example.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信