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

2021-08-10 11:34:36 字數 1605 閱讀 3830

學如逆水行舟,不進則退。 —【名人名言】

工廠模式有普通工廠模式和抽象工廠模式,在這裡我先寫普通工廠模式,我們平時可能用的比較多。

本人是吃貨,就拿吃舉例子吧,我們吃中國菜和吃西餐,都要進行吃這個動作,所以我們把它定義成乙個介面,多次實現即可。

定義吃的這個介面

public

inte***ce eater

定義兩個實現類

1)吃中國菜的實現類

public

class

chinafoodeat

implements

eater

}

2)吃西餐的實現類

public

class

westernfoodeat

implements

eater

}

寫乙個公共方法
public

class eatfactory

public

static sender westernfood()

}

定義測試類
public

class factorymethod

}

結果是:this is chinafoodeat!

工廠模式的特點就是可以多擴充套件,有需要建立工廠類即可,一般我們寫靜態方法,直接用類呼叫靜態方法,省去建立物件的步驟,比較方便。

單例模式保證在jvm中只有乙個例項存在,它的好處顯而易見:

1)只能建立乙個例項,減輕了gc的**機制的壓力。

2)不用類經常頻繁的建立例項,節省開銷。

單例模式有懶漢式餓漢式,現附上**,再一一解釋:

餓漢式

public

class hungrysingleton

public

static hungrysingleton gethsingleton()

public

static

void

sethsingleton(hungrysingleton hsingleton)

}

上面的**是餓漢式單例模式,何謂餓漢式,即在類載入時就建立物件例項,餓了嘛,不管用不用,先把這個物件給我建立出來,這樣做無需判斷,節省時間。當hungrysingleton類載入時,無參構造方法就建立了物件,將這個物件給予了靜態屬性hsingleton。

懶漢式

public

class lazysingleton

public

static lazysingleton getlasingleton()

return lasingleton;

}}

上面的**是懶漢式單例模式,與上面餓漢式**相比,顯而易見是等到需要時判斷後才建立例項。這種比較適合多執行緒,是執行緒安全的。

設計模式 部分設計模式的對比總結

設計模式應當是程式設計師的內功心法,總結的是前人的經驗。可以幫助我們提公升 的可讀性 可擴充套件性 降低維護成本,解決複雜的業務問題。但也不能為了套用設計模式而去使用設計模式。設計模式是在我們迷茫時提供的一種解決方案,或者說用好設計模式可以防範於未然。說到設計模式,一定要了解軟體設計原則。首先回顧一...

java 常用到的設計模式

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

Android 開發中常用到的設計模式

builder模式 比如alertdialog.builder 例簡單模擬android中alertdialog的builder設計模式 介面卡模式 比如gridview listview與adapter 例android設計模式系列 9 sdk原始碼之介面卡模式 命令模式 比如handler.po...