第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

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

關(guān)于設(shè)計模式:我應(yīng)該什么時候使用單例?

關(guān)于設(shè)計模式:我應(yīng)該什么時候使用單例?

HUH函數(shù) 2019-06-19 15:26:26
關(guān)于設(shè)計模式:我應(yīng)該什么時候使用單例?被美化的全局變量-變成了一個光榮的全局類。有人說打破面向?qū)ο蟮脑O(shè)計。給我一些場景,除了好的舊記錄器,在這里使用單例是有意義的。
查看完整描述

3 回答

?
小唯快跑啊

TA貢獻1863條經(jīng)驗 獲得超2個贊

在我尋求真相的過程中,我發(fā)現(xiàn)使用Singleton的理由實際上很少。

Internet上一次又一次出現(xiàn)的原因之一是“日志”類(您提到過)。在這種情況下,可以使用Singleton來代替類的單個實例,因為項目中的每個類通常都需要反復(fù)使用日志類。如果每個類都使用此日志類,則依賴項注入將變得非常麻煩。

日志記錄是“可接受的”Singleton的一個具體示例,因為它不影響代碼的執(zhí)行。禁用日志記錄,代碼執(zhí)行保持不變。啟用它,同樣的。Misko把它放在下面的方式單身的根本原因“這里的信息有一種方式:從應(yīng)用程序到記錄器。即使記錄器是全局狀態(tài),因為沒有從記錄器流向應(yīng)用程序的信息,記錄器也是可以接受的?!?/trans>

我相信還有其他合理的理由。亞歷克斯·米勒,在“我討厭的模式,談到服務(wù)定位器和客戶端UI也可能是“可接受的”選擇。

在辛格爾頓讀更多我愛你但你讓我失望了。


查看完整回答
反對 回復(fù) 2019-06-19
?
不負相思意

TA貢獻1777條經(jīng)驗 獲得超10個贊

單身候選人必須滿足三項要求:

  • 控制對共享資源的并發(fā)訪問。
  • 將從系統(tǒng)的多個不同部分請求對資源的訪問。
  • 只有一個物體。

如果建議的Singleton只有一兩個這樣的需求,那么重新設(shè)計幾乎總是正確的選擇。

例如,不可能從多個地方(打印菜單)調(diào)用打印機假脫機程序,因此可以使用互斥來解決并發(fā)訪問問題。

一個簡單的記錄器是一個可能有效的Singleton的最明顯的例子,但是這可以隨著更復(fù)雜的日志記錄方案而改變。


查看完整回答
反對 回復(fù) 2019-06-19
?
翻閱古今

TA貢獻1780條經(jīng)驗 獲得超5個贊

當(dāng)您需要管理共享資源時,可以使用單例。例如,打印機假脫機程序。您的應(yīng)用程序應(yīng)該只有一個假脫機程序?qū)嵗员苊鈱ν毁Y源的沖突請求。

或數(shù)據(jù)庫連接或文件管理器等。


查看完整回答
反對 回復(fù) 2019-06-19
  • 3 回答
  • 0 關(guān)注
  • 1077 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號