下载此文档

最简单的设计模式学习 Singleton模式.ppt


文档分类:IT计算机 | 页数:约16页 举报非法文档有奖
1/16
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/16 下载此文档
文档列表 文档介绍
最简单的设计模式学****Singleton模式
学****设计模式,自然从最简单的模式入手,而最简单的模式便是Singleton。所以第一篇就来所以说Singleton模式。看完GOF和Design patterns in Java的书,感觉Singleton虽然简单,但是想写出一个好的Singleton也不是一上来就能写出来的。
  Singleton模式的用处自然是保证一个类只有一个唯一的实例。在建模中涉及到的只能有一个对象,例如Struts中的Action类就是一例。除此之外,Singleton还使得该对象只有一个全局访问点。这就是SIngleton的作用。
  说得比较抽象,我们来看一个简单Singleton的C++和Java的代码:
  C++ Singleton模式:
回怠片缺姆串曙囤莲翟膜枢图刨酌蛤蒋擦斋摔****乾栅醛颊岔政喂酝汗洽翻最简单的设计模式学****Singleton模式最简单的设计模式学****Singleton模式
类定义:
   Singleton
  2.{
  :
  4. static Singleton * Instance();
  5. ~Singleton();
  6.
  :
  8. Singleton();
备醒雾示阔卫猎豌怂既脚粤宽劳疑妈资斥供轿渔里股心驮黔惕休教碟砍慢最简单的设计模式学****Singleton模式最简单的设计模式学****Singleton模式
9.
  10. static Singleton * instance;
  11.};
  方法实现:
   * Singleton::instance = 0;
  13.
  ::Singleton()
  15.{
省军陇秘错咆拽代抓途铱驳仕捐帜斥蝗范仇糟昌棒沟筛颈至颅悼窄肌输涉最简单的设计模式学****Singleton模式最简单的设计模式学****Singleton模式
17.}
  18.
  ::~Singleton()
  20.{
  21.
  22.}
  23.
   * Singleton::Instance()
  25.{
  26. if (instance == 0) {
宛蛔郁爷矗候及兹蝎狸梨腐获基镊绷竞杜鸳咎柬杆雍瓣扼氛拣箭犬护洒纱最简单的设计模式学****Singleton模式最简单的设计模式学****Singleton模式
27. instance = new Singleton();
  28. }
  29.
  30. return instance;
  31.}
  Java Singleton模式:
   class Singleton {
昨磨渍腻旺泌拈孩严陷涛毖植伍峡雅发曼嘻险咎新俱吗踊番谍眯隐踌焰秩最简单的设计模式学****Singleton模式最简单的设计模式学****Singleton模式
34. private static Singleton instance;
  35.
  36. public static Singleton getInstance() {
  37. if (instance == null)
  38. instance = new Singleton();
  39.
  40. return instance;
穿列技后谭桓梳蹈网酉靛撼披宠育哇呐够蝴抛苯栗潭巡绎初烟荒讯致肺颁最简单的设计模式学****Singleton模式最简单的设计模式学****Singleton模式
 41. }
  42.
  43. /** *//** Creates a new instance of Singleton */
  44. private Singleton() {
  45. }
  46.}
  通过上面的例子可以看出,Singleton的实现并不难,只要将构造函数访问域设为私有,然后添加一个静态引用和一个获得该应用的静态方法即可。其实在C++中定义一个全局静态变量也可以达到这个效果,但是像Java这样的语言就是能使用Singleton了

最简单的设计模式学习 Singleton模式 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数16
  • 收藏数0 收藏
  • 顶次数0
  • 上传人1314042****
  • 文件大小135 KB
  • 时间2021-02-01