Java中常用的設(shè)計(jì)模式
1.單例模式
單例模式有以下特點(diǎn):
1、單例類只能有一個(gè)實(shí)例。
2、單例類必須自己創(chuàng)建自己的唯一實(shí)例。
3、單例類必須給所有其他對(duì)象提供這一實(shí)例。
單例模式確保某個(gè)類只有一個(gè)實(shí)例,而且自行實(shí)例化并向整個(gè)系統(tǒng)提供這個(gè)實(shí)例。
總之,選擇單例模式就是為了避免不一致?tīng)顟B(tài),避免政出多頭。
推薦鏈接:http://blog.csdn.net/jason0539/article/details/23297037
2.工廠模式
工廠模式的兩種情況:
1.在編碼時(shí)不能預(yù)見(jiàn)需要?jiǎng)?chuàng)建哪種類的實(shí)例。
2.系統(tǒng)不應(yīng)依賴于產(chǎn)品類實(shí)例如何被創(chuàng)建、組合和表達(dá)的細(xì)節(jié)
推薦鏈接:http://www.cnblogs.com/poissonnotes/archive/2010/12/01/1893871.html
3.建造著模式
該模式其實(shí)就是說(shuō),一個(gè)對(duì)象的組成可能有很多其他的對(duì)象一起組成的,比如說(shuō),一個(gè)對(duì)象的實(shí)現(xiàn)非常復(fù)雜,有很多的屬性,而這些屬性又是其他對(duì)象的引用,可能這些對(duì)象的引用又包括很多的對(duì)象引用。封裝這些復(fù)雜性,就可以使用建造模式。
推薦鏈接:http://www.cnblogs.com/cbf4life/archive/2010/01/14/1647710.html
4.門(mén)面模式
這個(gè)模式個(gè)人感覺(jué)像是Service層的一個(gè)翻版。比如Dao我們定義了很多持久化方法,我們通過(guò)Service層將Dao的原子方法組成業(yè)務(wù)邏輯,再通過(guò)方法向上層提供服務(wù)。
為一個(gè)復(fù)雜子系統(tǒng)提供一個(gè)簡(jiǎn)單接口
提高子系統(tǒng)的獨(dú)立性
在層次化結(jié)構(gòu)中,可以使用Facade模式定義系統(tǒng)中每一層的入口
推薦鏈接:http://www.cnblogs.com/skywang/articles/1375447.html
5.策略模式
感覺(jué)沒(méi)找到寫(xiě)的特別好的博客,可能是不合胃口。小編喜歡用實(shí)際例子來(lái)講的博客。下面的鏈接是360百科的解釋。