【问题标题】:How to use the Facade.Instance method without object construction?如何在没有对象构造的情况下使用 Facade.Instance 方法?
【发布时间】:2010-12-23 16:46:21
【问题描述】:

我最近才完成了一个关于软件模式的单元,现在正在尝试理解 PureMVC 框架。然而,有一件事让我很困惑,这对这里的大师来说很简单。

我正在尝试创建单例 Facade 类的实例。在构造函数中,cmets 状态:

这个IFacade实现是Singleton,所以不要直接调用构造函数,而是调用静态Singleton Factory方法Facade.Instance

在 Facade 对象还没有创建的时候,你怎么能调用实例方法呢?

Facade.Instance 方法如下所示:

public static IFacade Instance
    {
        get
        {
            if (m_instance == null)
            {
                lock (m_staticSyncRoot)
                {
                    if (m_instance == null) m_instance = new Facade();
                }
            }

            return m_instance;
        }
    }

【问题讨论】:

    标签: model-view-controller instance puremvc facade


    【解决方案1】:

    您正在访问一个静态属性。静态属性是类定义的一部分,而不是类实例。要访问静态成员(属性、字段、方法),只需使用类名点成员即可:

    var myFacade = SomeClass.Instance;
    

    【讨论】:

      猜你喜欢
      • 2011-11-03
      • 2018-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多