Java设计模式09单例模式.pdfVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第9章 第9章 单例模式 单例模式 主讲教师:程细柱 韶关学院计算机系 本书主编:刘 伟 清华大学出版社 本章教学内容 单例模式 模式动机与定义 模式结构与分析 模式实例与解析 模式效果与应用 模式扩展 单例模式 模式动机 对于系统中的某些类来说,只有一个实例很重要,例 如,一个系统中可以存在多个打印任务,但是只能有一 个正在工作的任务;一个系统只能有一个窗口管理器或 文件系统;一个系统只能有一个计时工具或ID (序号) 生成器。 单例模式 模式动机 如何保证一个类只有一个实例并且这个实例易于被访问 呢?定义一个全局变量可以确保对象随时都可以被访 问,但不能防止我们实例化多个对象。 一个更好的解决办法是让类自身负责保存它的唯一实 例。这个类可以保证没有其他实例被创建,并且它可以 提供一个访问该实例的方法。这就是单例模式的模式动 机。 单例模式 模式定义 单例模式(Singleton Pattern):单例模式确保某一个 类只有一个实例,而且自行实例化并向整个系统提供这 个实例,这个类称为单例类,它提供全局访问的方法。 单例模式的要点有三个:一是某个类只能有一个实例; 二是它必须自行创建这个实例;三是它必须自行向整个 系统提供这个实例。单例模式是一种对象创建型模式。 单例模式又名单件模式或单态模式。 单例模式 模式定义 Singleton Pattern: Ensure a class has only one instance and provide a global point of access to it. Frequency of use: medium high 单例模式 模式结构 Singleton - instance : Singleton instance - Singleton () + getInstance () : Singleton if(instance==null) instance=new Singleton(); return instance; 单例模式 模式结构 单例模式包含如下角色: • Singleton:单例 单例模式 模式分析 单例模式的目的是保证一个类仅有一个实例,并提供一 个访问它的全局访问点。单例模式包含的角色只有一 个,就是单例类——Singleton 。单例类拥有一个私有 构造函数 ,确保用户无法通过new关键字直接实例化 它。除此之外,该模式中包含一个静态私有成员变量与 静态公有的工厂方法,该工厂方法负责检验实例的存在 性并实例化自己,然后存储在静态成员变量中,以确保 只有一个实例被创建。 单例模式 模式分析 单例模式的实现代码如下所示: public class Singleton { private static Singleton instance=null; //静态私有成员变量 //私有构造函数 private Singleton(){} //静态公有工厂方法,返回唯一实例 public static Singleton getInstance() { if(instance==null) instance=new Singleton

文档评论(0)

dmz158 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档