单例模式和多例模式的区别(转)
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                单例模式和多例模式的区别(转)
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                原文鏈接:[設計模式] 多例模式與單例模式區別
多例模式與單例模式都禁止外界直接將之實例化,同時通過靜態工廠方法向外界提供循環使用的自身的實例。它們的不同在于單例模式僅有一個實例,而多例模式則可以有多個實例。
多例模式往往具有一個聚集屬性,通過向這個聚集屬性登記已經創建過的實例達到循環使用實例的目的。一般而言,一個典型的多例類具有某種內部狀態,這個內部狀態可以用來區分各個實例,而對應于每一個內部狀態,都只有一個實例存在。
原文鏈接:單例模式優缺點
主要優點:
1、提供了對唯一實例的受控訪問。
2、由于在系統內存中只存在一個對象,因此可以節約系統資源,對于一些需要頻繁創建和銷毀的對象單例模式無疑可以提高系統的性能。
3、允許可變數目的實例。
?
主要缺點:
1、由于單利模式中沒有抽象層,因此單例類的擴展有很大的困難。
2、單例類的職責過重,在一定程度上違背了“單一職責原則”。
3、濫用單例將帶來一些負面問題,如為了節省資源將數據庫連接池對象設計為的單例類,可能會導致共享連接池對象的程序過多而出現連接池溢出;如果實例化的對象長時間不被利用,系統會認為是垃圾而被回收,這將導致對象狀態的丟失。
?
總結
以上是生活随笔為你收集整理的单例模式和多例模式的区别(转)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: ios打包ipa的四种实用方法
- 下一篇: 清除浮动6中方法
