iT邦幫忙

第 12 屆 iThome 鐵人賽

2

本文同步更新於blog

Singleton Pattern

確保一個類只有一個實例,並提供一個全局訪問點。


單例模式只會將類別分為一類,即單例類別 (Singleton)

單例類別會管理實例的產生,並提供存取實例的方法。


優點:
可以確保類別只有一個實例。
可以提供全局訪問點

缺點:
違反單一職責原則
實現單例時,須考慮多線程問題。
因其特殊性,單例模式不容易作測試。


與全域變數的比較:
單例模式可以嚴格地控制客戶如何存取它及何時使用它,
並且具有狀態(可在執行時發生改變)。

ʕ •ᴥ•ʔ:單例模式常被視為一種反模式 (anti-pattern)。
很可能是設計模式中,唯一一個違反單一職責原則


上一篇
Day30. 8人訂閱Q&A問答
下一篇
Day32. 範例:資料庫連線(單例模式)
系列文
你終究都要學設計模式的,那為什麼不一開始就學呢?57
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言