Type ScriptのPureMVCフレームワークのFacadeクラス;


Facadeクラス
facadeクラスはpureMVCフレームワークの単一のクラスであり、Facadeはコア層と通信する唯一のインタフェースを提供する.
以下にAppFacadeの一例クラスがpuremvcから継承する.Facade
static getInstance(facadeID:string = "AppFacade"):AppFacade
{
    if(!puremvc.Facade.instanceMap[facadeID])
    {
        puremvc.Facade.instanceMap
        puremvc.Facade.instanceMap["AppFacade"] = new AppFacade("AppFacade");
    }

    return puremvc.Facade.instanceMap["AppFacade"];
}

このような呼び出しpuremvc.Facadeのインタフェース関数は、AppFacade.getInstance().sendNotification()
Facadeクラスメンバー:public model:IModel;----------------------------------------------------------------------------------------------Model単例public view:IView;--------------------------------------------------------------------------------------View単例public controller:IController;----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Controller単例public multitonKey:string;-----------------------------------------------------------------------------------------------------------Facadeの一例作成後に鍵constructor(key:string)を設定する.コンストラクション関数Facadeクラスのメンバー関数:public initializeFacade():void;--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Facadeの初期化一例public initializeModel():void;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Facade完了後初期化Modelpublic initializeController():void;--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Facade完了後の初期化Controllerpublic initializeView():void;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Facade完了後にViewを初期化
public registerCommand(notificationName: string, commandCla***ef: Function): void;---------コマンドを登録し、コマンドの名前を設定するpublic removeCommand(notificationName:string):void;------------------------------------------------------------------削除コマンドpublic hasCommand(notificationName:string):boolean;------------------------------------------------------------------通知名がコマンドを登録しているかどうかを検出
public registerProxy(proxy: IProxy): void;---------------------------------------------------------------------モデル名登録エージェントpublic retrieveProxy(proxyName:string):IProxy;-------------------------------------------------------------------------------------------------------------------検索エージェントpublic removeProxy(proxyName:string):IProxy;-------------------------------------------------------------------------エージェントpublic hasProxy(proxyName:string):boolean;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------エージェントが登録されているかどうかを検出
public registerMediator(mediator: IMediator): void;---------------------------------------------------------登録Mediatorpublic retrieveMediator(mediatorName:string):IMediator;----------------------------------------------------------Mediatorpublic removeMediator(mediatorName:string):IMediatorを検索する.Mediatorpublic hasMediator(mediatorName:string):boolean;---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Mediatorの検出
public notifyObservers(notification: INotification):void;-----------------------------------------------------この方法は主に後方互換性に使用され、Facadeを使用してカスタム通知クラスpublic sendNotification(name:string,body?:any,type?:string):void;--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------送信通知を作成し、通信public initializeNotifier(key:string):void;-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------Facadeの一例作成後の鍵の設定