**
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 工廠模式 總體來說,凡是出現了大量的產品需要建立,並且具有共同的介面時,可以通過...