Java中幾個常用設計模式

2021-07-24 08:47:09 字數 2042 閱讀 8334

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 }頂3踩

Java中幾個常用設計模式

1.單例模式 有的書上說叫單態模式其實都一樣 該模式主要目的是使記憶體中保持1個物件。看下面的例子 package org.sp.singleton 方法一 public class singleton 通過乙個靜態方法向外界提供這個類的例項 public static singleton geti...

Java中幾個常用設計模式

1.單例模式 有的書上說叫單態模式其實都一樣 該模式主要目的是使記憶體中保持1個物件。看下面的例子 package org.sp.singleton 方法一 public class singleton 通過乙個靜態方法向外界提供這個類的例項 public static singleton geti...

常用的幾個設計模式

設計模式是一些程式設計方式,用來解決某一類特殊問題的一種最佳實踐,在物件導向程式設計中有著舉足輕重的地位。設計模式可以分成3個大類 其中,單例模式限制應用程式,使其只能建立某一特定類型別的乙個單一的例項。由於要求只能生成乙個例項,所以可以把建構函式設定為私有函式,從而禁止他人建立例項。class s...