作者adrianshum (Alien)
看板Programming
标题Re: [问题]请问这样的 Java Class 算不算是一个 Si …
时间Fri Jan 11 01:23:48 2008
※ 引述《oohay (五黑)》之铭言:
: ※ 引述《[email protected] (foolish)》之铭言:
: : 实作 Singleton Pattern 简单的说就是
: : 控管 constructor 让外界无法由 new 的方式产生任意个物件
: : public final class SingletonEx {
: : static SingletonEx self = new SingletonEx();
: : private SingletonEx() {
: : }
: : public static SingletonEx getInstance(){
: : return self;
: : }
: : public static void main(String[] args) {
: : // reference 都应该要是一样的
: : assert(SingletonEx.getInstance() == SingletonEx.getInstance());
: : }
: : }
: 我想singleton不能这麽做.
: 不赞成的理由是: 若你说一个final class是个singleton,
: 不过它的methods只要是开放的,就是对其他任何object与class都开放,
: 这对java程式来说,失去了很重要的基本要项--来自继承的保护.
: Singleton class应该是一个可实体化的class,
: 它保证一次只有一个实体存在.
人家的重点在於
"控管 constructor 让外界无法由 new 的方式产生任意个物件"
而不是 "final class 是个 singleton" 吧?
一向 "final class" 也不是 singleton 的特症。
你确定你有看清楚 qrtt1 写的是什麽?
Alien
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 218.103.235.35