常用設計模式

2021-08-07 17:35:19 字數 1989 閱讀 1659

單例模式,最常見的就是飢餓模式和懶漢模式,乙個直接例項化物件,乙個在呼叫方法時進行例項化物件。在多執行緒模式中,考慮到效能和執行緒安全問題,我們一般選下面兩種比較經典的單例模式,在效能提高的同時,又保證了執行緒安全。

(1).static inner class方式單例

(2).double check instance 方式單例

1.靜態內部類 方式單例:

public

class singletion

public

static singletion getinstance()

}

2.雙重檢索單例:

public

class dubblesingleton }}

return ds;}}

餓漢模式:

public

class singleton

public

static singleton newinstance()

} 缺點,在類載入之後就被建立,即使沒有用到

懶漢模式:

public

class singleton

public

static synchronized singleton newinstance()

return instance;

} }在特定時間載入,延遲載入

1、工廠方法模式(factory method)1.1、普通工廠模式,就是建立乙個工廠類,對實現了同一介面的一些類進行例項的建立。首先看下關係圖:

舉例如下:(我們舉乙個傳送郵件和簡訊的例子)

首先,建立二者的共同介面:

public inte***ce sender
其次,建立實現類:

public class mailsender implements sender   

} public class smssender implements sender

}

最後,建工廠類:

public class sendfactory  else if ("sms".equals(type))  else   

} }

我們來測試下:

public class factorytest   

}

輸出:this is sms sender!

使用乙個現成的類,但是它的介面不完全符合你的需求,我只想要它其中的乙個方法,不想

覆寫其他的方法。

比如,窗體有變大,變小,關閉的行為,但是我現在只需要關閉行為;

package reviewdemo;//介面卡模式:只想用其中的某乙個方法,用介面卡作為中間的過渡

inte***ce

windows

//介面卡模式,實現介面所有的方法,但是不寫方法體!

class

adapterwindows

implements

windows

@override

public

void min()

@override

public

void close()

}class

mywindows

extends

adapterwindows

}public

class

demo17

}

常用設計模式

mvc 模型 檢視 控制器 通過 委託其他物件做事情 或者充當某些功能的中間類 觀察者 在乙個物件或者值發生變化時,對它的觀察者發出通知 單例模式 應用程式執行的過程中只有乙個例項 工廠模式 為物件的建立提供統一的介面 簡單工廠模式,工廠方法模式,抽象工廠模式 裝飾模式 為類動態新增方法 一般用ca...

常用設計模式

常用設計模式有工廠模式 道理模式以及生產者消費者模式 使用靜態內部類的方式可以保證執行緒安全,並且比同步方法的效能好。package com.qqyumidi public class singleton 私有化建構函式 private singleton public static singlet...

常用設計模式

工作一年c 服務端開發,最常用的就是單例模式,那我就從這個開始 1.單例模式是一種只能宣告乙個物件的特殊類 只有乙個例項 該模式的作用是節約系統資源。實現 建構函式和拷貝建構函式私有化。2.簡單工廠模式 簡單工廠模式實際就是建立乙個工廠類,該類根據建立產品的型別引數來呼叫不同的產品類的建構函式 3....