亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么辛格爾頓被認為是反模式?

為什么辛格爾頓被認為是反模式?

互換的青春 2019-07-05 14:58:46
為什么辛格爾頓被認為是反模式?可能重復:單身人士有什么不好的?單例設計模式:陷阱單例反模式我最近聽說辛格爾頓是反模式的。我知道這與使類單例類似于使唯一實例成為全局變量有關,但它還做了更多的工作(限制該對象的實例數量、管理實例化等等)。為什么辛格爾頓被認為是反模式?還有什么可供選擇的呢?
查看完整描述

3 回答

?
MYYA

TA貢獻1868條經驗 獲得超4個贊

我不認為單身是一種反模式。

但是,單例基本上是一種使用全局變量的方法。全局變量是不好的,因為系統中任何地方的代碼都可以更改它們的值。因此,在調試時,很難確定哪條代碼路徑會導致單例的當前狀態。


查看完整回答
反對 回復 2019-07-05
?
冉冉說

TA貢獻1877條經驗 獲得超1個贊

我認為它被認為是反模式,因為其他對象不能正常地實例化Singleton類(除了調用這種通常稱為“getInstance”的方法外)。因此,它看起來就像類被直接使用,而不是先實例化它來創建一個可用的對象。

我同意你的觀點,辛格爾頓可以作為一個全球獨一無二的例子。我從一些人那里了解到,作為Singleton的替代品,我們可以使用靜態變量和/或最終變量,我們也可以使用枚舉(這樣我們就可以使用一個組名對多個變量進行分組,就像我們在使用普通類/對象時通常所做的那樣)。

但是,這些替代只能與Singleton類在存儲狀態/值方面的能力相匹配。如果我們需要使用唯一的函數,那么這些靜態/最終變量和枚舉就幫不上忙了。在我看來,當我們需要使用Singleton類(當我們需要一些獨特的函數來處理靜態/最終狀態/值時),情況就是這樣。

干杯.。*)


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 934 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號