/***
* 单例接口：所有单例模块都继承这里
*/
export class Singleton {
	/***
	 * 统一的单例获取接口。
	 */
	static getInstance<T extends {}>(this: new () => T): T {
		if (!(<any>this).instance) {
			(<any>this).instance = new this();
		}
		return (<any>this).instance;
	}
}