目標之一:提高程式的可復用性
有哪些功能可以被擴充套件?保證在jvm中只有乙個例項。擴充套件功能時必須修改哪些地方?
有哪些類不需要修改?
需要該物件時,new例項物件。不安全
class
singleton
/** * 當需要時才例項化,之後都是乙個例項。懶漢式不安全,所以需要加上同步。
** @return
*/public
static
singleton
getinstance()
}return singleton;}}
/** * @description:單例模式-懶漢式
* @author: lishun
*/public
class
test
}
天生安全,在類載入時就初始化了乙個例項物件。spring框架ioc容器中的物件預設就是餓漢式單例。
class
singleton2
public
static
singleton2
getinstance()
}/**
* @description:單例模式-餓漢式
* @author: lishun
*/public
class
test2
}
設計模式是內功,需要一直修煉! GOF23之單例模式
單例模式是gof23中最簡單的模式。單例的設計模式裡的出場率很高,它簡單但也有多種實現方式,也正是因為它的靈活性和重要性使喚其多次出現在面試筆試中,經常與工廠模式搭配使用。作用 保證乙個類只能有乙個例項。多次建立只會返回同乙個例項。作用範圍 如word中的工具箱,任何時候只能有乙個工具箱。大話設計模...
GOF23 單例模式(1)
核心作用 保證乙個類只有乙個例項,並且提供乙個訪問該例項的全域性訪問點。常見的應用場景 1.windows的task manager 任務管理器 2.windows的recycle bin 站 3.專案中,讀取配置檔案的類,一般也只有乙個物件,沒有必要每次使用配置檔案資料,每次new乙個物件去讀取。...
GOF23設計模式 單例(2)
package org.test.singleton classname singletondemo3 description 雙重檢測鎖實現單例 不考慮 author administrator date 2017年3月30日 public class singletondemo3 public ...