单例模式:
参考书籍:阎老师的<<java与模式>>
网络文章:追mm与java的23个模式 www.linuxmine.com/44779.html
----------------------------------------------分割线-------------------------------------------
引文网络文章里面的内容
5、SINGLETON―俺有6个漂亮的老婆,她们的老公都是我,我就是我们家里的老公Sigleton,她们只要说道“老公”,都是指的同一个人,那就是我(刚才做了个梦啦,哪有这么好的事)
单例模式:单例模式确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例单例模式。单例模式只应在有真正的“单一实例”的需求时才可使用。
------------------------------------------分割线-----------------------------------------------
单例模式:
所产生的类的构建器是私有的------外界无法对该类产生任意对象
同时在该类的内部实现了一个静态方法来给外界引用 来产生一个具体的对象---唯一的对象 即 单例
根据类里面的唯一的实例的实现的时间先后 单例模式 又分为 懒汉模式和饿汉模式
所谓懒汉模式 即 刚开始的时候没有实例化 你想生成对象 如果发现我没有 就实例化一个 然后传给调用者
饿汉模式:即刚开始的时候就实例化好 你一调用我的 我马上传给你
-----------------------------------分割线-----------------------------------------------------------
对比上面的分析 可以发现:
“老公”:具体的单例类
“我”:“老公”的一个实例
“mm”:外界的调用者
每一个mm 都只能有一个老公:如果象作者说的 老公类是单例的 那世上所有的 mm的老公都是一个人(当然作者在做梦 呵呵)
根据 我在老公类 里面的 实例的先后顺序 如果在属性里面就已经把 “我”这个对象生成了的话 那就是饿汉模式
如果在一个mm请求老公的时候 看看 唯一的那个句柄是否为空 如果为空的 就实例化一个“老公” 即 我 塞给这个句柄,以后所有的mm请求的老公 就是“我”了 这个就是饿汉模式