VBScript(经典)ASP中的单例模式

Jon*_*han 1 oop vbscript singleton design-patterns asp-classic

我刚刚创建了一个FirePHP服务器端库的经典ASP版本,它可以与常规的旧FirePHP控制台一起使用.

看看Github项目

但是在我的实现中,我必须创建一个全局来存储类实例.

如果甚至可以创建静态方法,我不知道如何使用这种语言中的单例模式.

Mic*_*hal 6

您可以通过将实例添加到应用程序对象中来创建单例.只要Web应用程序正在运行,它就会在所有会话中共享.

以下代码应该演示它:

<%
class MySingleton
  public function getInstance()
    if not isObject(application("MySingleton")) then
      set application("MySingleton") = new MySingleton
    end if
    set getInstance = application("MySingleton")
  end sub
end class

'usage
set instance = (new MySingleton).getInstance()
%>
Run Code Online (Sandbox Code Playgroud)

重要提示:上面的示例只是模拟您如何做到这一点.