国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

單例模式(Java)

2019-11-14 21:06:42
字體:
來源:轉載
供稿:網友
單例模式(java

//單例模式public class Singleton {    PRivate static Singleton s;        private  Singleton(){            }        public static Singleton getSingleton(){        if(s ==null){            s=new Singleton();        }        return s;    }                      //測試    public static void main(String[] args){        Singleton s=Singleton.getSingleton();        Singleton s2=Singleton.getSingleton();        System.out.println(s==s2);    }}

(至于單例模式的優缺點我就直接copy啦!)

單例模式作為一種目標明確、結構簡單、理解容易的設計模式,在軟件開發中使用頻率相當高,在很多應用軟件和框架中都得以廣泛應用。

1.主要優點

單例模式的主要優點如下:

(1) 單例模式提供了對唯一實例的受控訪問。因為單例類封裝了它的唯一實例,所以它可以嚴格控制客戶怎樣以及何時訪問它。

(2) 由于在系統內存中只存在一個對象,因此可以節約系統資源,對于一些需要頻繁創建和銷毀的對象單例模式無疑可以提高系統的性能。

(3) 允許可變數目的實例?;趩卫J轿覀兛梢赃M行擴展,使用與單例控制相似的方法來獲得指定個數的對象實例,既節省系統資源,又解決了單例單例對象共享過多有損性能的問題。

2.主要缺點

單例模式的主要缺點如下:

(1) 由于單例模式中沒有抽象層,因此單例類的擴展有很大的困難。

(2) 單例類的職責過重,在一定程度上違背了“單一職責原則”。因為單例類既充當了工廠角色,提供了工廠方法,同時又充當了產品角色,包含一些業務方法,將產品的創建和產品的本身的功能融合到一起。

(3) 現在很多面向對象語言(如Java、C#)的運行環境都提供了自動垃圾回收的技術,因此,如果實例化的共享對象長時間不被利用,系統會認為它是垃圾,會自動銷毀并回收資源,下次利用時又將重新實例化,這將導致共享的單例對象狀態的丟失。

3.適用場景

在以下情況下可以考慮使用單例模式:

(1) 系統只需要一個實例對象,如系統要求提供一個唯一的序列號生成器或資源管理器,或者需要考慮資源消耗太大而只允許創建一個對象。

(2) 客戶調用類的單個實例只允許使用一個公共訪問點,除了該公共訪問點,不能通過其他途徑訪問該實例。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 垦利县| 绥江县| 许昌县| 安岳县| 武宣县| 隆子县| 新密市| 井冈山市| 泰州市| 阿勒泰市| 七台河市| 沙河市| 收藏| 洛浦县| 安陆市| 青浦区| 岢岚县| 广灵县| 横山县| 肇庆市| 永济市| 应用必备| 清新县| 延寿县| 合山市| 汉中市| 浮梁县| 南华县| 通城县| 谷城县| 高要市| 柘荣县| 无极县| 灌云县| 宝坻区| 高清| 广水市| 马公市| 上林县| 双峰县| 沙田区|