單例設計模式(一般)
注意:單例是一種設計模式。
但它也被認為是一種反模式。
在使用前應仔細考慮使用單例。通常有更好的選擇。
單例的主要問題與全域性變數的問題相同。他們引入了外部全域性可變狀態。這意味著使用單例的函式不僅僅取決於輸入引數,還取決於單例的狀態。這意味著測試可能會嚴重受損(困難)。
單例的問題可以通過與創作模式結合使用來減輕; 這樣就可以控制單例的初始創作。
注意:單例是一種設計模式。
但它也被認為是一種反模式。
在使用前應仔細考慮使用單例。通常有更好的選擇。
單例的主要問題與全域性變數的問題相同。他們引入了外部全域性可變狀態。這意味著使用單例的函式不僅僅取決於輸入引數,還取決於單例的狀態。這意味著測試可能會嚴重受損(困難)。
單例的問題可以通過與創作模式結合使用來減輕; 這樣就可以控制單例的初始創作。