優點:
1:一個類只被實例化一次,提供了對唯一實例的受控訪問。
2:節省系統資源
3:允許可變數目的實例。
缺點:
1:一個類只有一個對象,可能造成責任過重,在一定程度上違背了“單一職責原則”。
2:由于單例模式中沒有抽象層,因此單例類的擴展有很大的困難。
3:濫用單例將帶來一些負面問題,如為了節省資源將數據庫連接池對象設計為的單例類,可能會導致共享連接池對象的程序過多而出現連接池溢出;如果實例化的對象長時間不被利用,系統會認為是垃圾而被回收,這將導致對象狀態的丟失。
更多:iOS面試題合集