設計模式是在編程歷史中你們總結出來解決一類問題的經驗。、編程
一共有23中設計模式,如今簡單的介紹幾種。設計模式
1代理模式 (相似顯示)jvm
靜態代理設計
目標對象(真實對象)代理
代理對象對象
原理:代理對象和目標對象實現一樣的接口,接口
而後就能夠在程序中使用代理對象,內存
調用目標對象,以及對目標對象的方法作必定的加強。(效果:在不改變對象源碼的狀況下,對對象作必定的加強)get
動態代理源碼
目標對象(真實對象)
代理對象
原理:動態代理和靜態代理的區別:是靜態代理中代理對象須要有一個具體的類,來建立代理對象,動態代理是使用Proxy對象在內中中生成一個代理對象,而後對象對象進行必定的加強。
2裝飾者模式
裝飾者模式和代理模式有必定的類似性,可是沒有代理模式靈活,推薦使用代理模式。
3適配器模式
只用對適配器作必定的改動,便可讓其適配其餘相似的對象。
4單例模式
單例模式:是指使用必定的方式,讓該對象整個項目中只能存在一個 : 核心(構造私有) ,提供公共方法,建立對象
懶漢式:在調用對象時再對對象進行建立(好處:節約內存,弊端:效率差一點) (和jvm中的懶加載類似)
實現:
public class SingoClass()
{
private SingoClass(){};
private SingoClass singoClass
public getInstance(){
if(singoClass==NULL)
{
singoClass = new SingoClass ();
}
return SingoClass ;
}
}
餓漢式:在項目初始化時,就直接建立一個對象,而後進行返回 (好處:效率高。弊端:佔用內存) 核心 (構造私有)提供外部訪問方法
實現:public class SingoClass()
{
private SingoClass(){};
private SingoClass singoClass
singoClass = new SingoClass ();
public getInstance
{
return SingoClass ;
}
}