作者qrtt1 (Is freelancer free?)
站内java
标题Re: [问题] 什麽时候该用getInstance()?
时间Thu Mar 13 11:45:14 2008
※ 引述《psalter (Regular Expression)》之铭言:
: 关於 B.getInstance();
: 其实可以参考 Factorty Pattern,
: 将建构子封装起来有许多好处,包括
: (1)可以控制instance的数量,作 Multiton
: (2)管理取得此物件的权限:public, protected, default
: 因此不一定是需要作Singleton时才可应用 getInstance()
: 当然,与Factory不太一样,这里是直接call物件本身的getInstance method
呃, factory method 没有规定生出来的都要是同一个东西
在 singleton 要求是大家得到的都是同一份
所以宣告 instance 时会这样写
final static Instance inst;
(多一个 final 一多生您就知道了 xd)
并且为了保证在 multi-threads 下 getInstance 不会冒出不同的
instance 来, 会一开始就建立好 instance
final static Instance inst = new Instance();
或是在 getInstance() 加上 sync 的关键字
REF.
http://en.wikipedia.org/wiki/Singleton_pattern
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.128.219.202
※ 编辑: qrtt1 来自: 220.128.219.202 (03/13 11:45)
1F:推 Czero:去看看Head First Design Patterns吧 03/15 19:35