Singleton模式,问题,系统中,只需要一个实例如DBPool,Print driver,resource management,重构,系统代码创建了一个对象的实例,并且创建过程很复杂或者导致内存使用过多或者系统性能下降. 适用性 系统用户抱怨系统的性能 系统分析指出原因一次一次的初始化某对象的实例 系统共享的对象不包含状态,或者包含可共享的状态,重构,优点:改进性能 缺点 当对象不能共享的状态的时候,本重构就无效,Singleton模式,意图:保证一个类仅有一个实例,并提供一个访问它的全局访问点。 问题:在系统之中,有很多数据需要多次初始化和调用解析 解决方案:系统实现单一个实例,不需要多次初始化 适应性: 当类只能有一个实例而且客户可以从一个全局的访问点访问它时 当该类通过子类可扩展的,并且客户应该无需更改代码就能使用一个扩展的实例 结果: 单例类只可有一个实例。 单例类必须自己创建自己这惟一的实例。 单例类必须给所有其他对象提供这一实例。 结构,Singleton模式-案例分析,键值生成器,