0

私は最近、ソフトウェアパターンに関する単元を完了し、PureMVCフレームワークを理解しようとしています。しかし、私が困惑していることが1つあります。それは、ここの教祖にとって単純なことです。

シングルトンFacadeクラスのインスタンスを作成しようとしています。コンストラクターでは、コメントは次のように述べています。

このIFacade実装はシングルトンであるため、コンストラクターを直接呼び出すのではなく、静的シングルトンファクトリメソッド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;
        }
    }
4

1 に答える 1

0

静的プロパティにアクセスしています。静的プロパティは、クラスインスタンスではなく、クラス定義の一部です。静的メンバー(プロパティ、フィールド、メソッド)にアクセスするには、クラス名のドットメンバーを使用するだけです。

var myFacade = SomeClass.Instance;
于 2009-12-06T06:53:31.510 に答える