java 常用到的設計模式

2021-07-25 06:51:21 字數 1984 閱讀 1006

**  

1.單例模式(有的書上說叫單態模式其實都一樣)

該模式主要目的是使記憶體中保持1個物件。看下面的例子:

package org.sp.singleton;

//方法一

public class singleton

//通過乙個靜態方法向外界提供這個類的例項

public static singleton getinstance()

}//方法二

class singleton2

}注:這二個方法實現了一樣的功能,但個人推薦採用第一種方法。

2.工廠模式

該模式主要功能是統一提供例項物件的引用。看下面的例子:

public class factory

}inte***ce classesdao

class classesdaoimpl implements classesdao

}class test

}這個是最簡單的例子了,就是通過工廠方法通過介面獲取物件的引用

3.建造模式

該模式其實就是說,乙個物件的組成可能有很多其他的物件一起組成的,比如說,乙個物件的實現非常複雜,有很多的屬性,而這些屬性又是其他物件的引用,可能這些物件的引用又包括很多的物件引用。封裝這些複雜性,就可以使用建造模式。

具體看看下面的例子:

4.門面模式

這個模式個人感覺像是service層的乙個翻版。比如dao我們定義了很多持久化方法,我們通過service層將dao的原子方法組成業務邏輯,再通過方法向上層提供服務。門面模式道理其實是一樣的。

具體看看這個例子:

inte***ce classesdao

class classesdaoimpl implements classesdao

}inte***ce classesdao2

class classesdaoimpl2 implements classesdao

}class servicemanager

};雖然這個例子不全,但基本意思已經很明顯了。

5.策略模式

這個模式是將行為的抽象,即當有幾個類有相似的方法,將其中通用的部分都提取出來,從而使擴充套件更容易。

看這個例子:

package org.sp.strategy;

/*** 加法具體策略類

* @author 無盡de華爾茲**/

public class addition extends operation

}package org.sp.strategy;

/*** 除法具體策略類

* @author 無盡de華爾茲**/

public class division extends operation

}package org.sp.strategy;

/*** 乘法具體策略類

* @author 無盡de華爾茲**/

public class multiplication extends operation

}package org.sp.strategy;

/*** 減法具體策略類

* @author 無盡de華爾茲**/

public class subtration extends operation

}package org.sp.strategy;

/*** 抽象策略類也可以使用介面來代替

* @author 無盡de華爾茲**/

public abstract class operation

package org.sp.strategy;

/*** 策略環境類 

* @author 無盡de華爾茲**/

public class condition

package org.sp.strategy;

/*** 測試客戶端

* @author 無盡de華爾茲**/

public class client

}

Java中常用到的部分設計模式

學如逆水行舟,不進則退。名人名言 工廠模式有普通工廠模式和抽象工廠模式,在這裡我先寫普通工廠模式,我們平時可能用的比較多。本人是吃貨,就拿吃舉例子吧,我們吃中國菜和吃西餐,都要進行吃這個動作,所以我們把它定義成乙個介面,多次實現即可。定義吃的這個介面public inte ce eater定義兩個實...

JAVA 常用設計模式

一 單例設計模式 單例就是 保證乙個類僅有乙個例項,僅提供乙個訪問它的全域性訪問點。之前這個用得比較多 採用單例設計模式的類 singleton類 永遠只會有乙個例項化物件產生。具體實現步驟如下 1 將採用單例設計模式的類的構造方法私有化 採用private修飾 2 在其內部產生該類的例項化物件,並...

常用java設計模式

spring用到哪些設計模式 單例模式 public class singletondemo public static singletondemo getdemo return demo class testdemo 工廠模式 總體來說,凡是出現了大量的產品需要建立,並且具有共同的介面時,可以通過...