Re: [問題]請問這樣的 Java Class 算不算是一個 Si …
※ 引述《oohay (五黑)》之銘言:
: ※ 引述《qrtt1.bbs@bbs.sayya.org (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
討論串 (同標題文章)
Programming 近期熱門文章
PTT數位生活區 即時熱門文章