admin管理员组文章数量:1438382
设计模式:单例模式(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单例模式本文标签: 设计模式单例模式(Singleton)(1)
版权声明:本文标题:设计模式:单例模式(Singleton)(1) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.betaflare.com/biancheng/1747511180a2700910.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论