import { Proxy } from './Proxy'; export class Module { /**注册代理列表*/ private _resigerProxys: any[]; /**代理实例集合*/ private _proxyDic: any; /**注册代理列表*/ registerProxys(): any[] { return []; } /** * 获取代理,由于代理全局唯一,因此,只需要通过代理类名引用即可 * @param $proxyClass 代理名 * @return * */ getProxy($proxyClass: any): Proxy { if ($proxyClass && this._proxyDic) return (this._proxyDic[$proxyClass]); return null; } /**启动Proxy*/ startProxy(): void { this._resigerProxys = this.registerProxys(); this._proxyDic = {}; var _id: number = 0; for (var i: number = 0, l: number = this._resigerProxys.length; i < l; i++) { var proxyClass: any = this._resigerProxys[i]; var _proxyInstance: Proxy = new proxyClass(this); this._proxyDic[proxyClass] = _proxyInstance; _proxyInstance.startEvents(); } } }