Strategy是屬於設計模式中 對象行為型模式
Stratrgy應用比較廣泛
這裡以字符串替代為例
首先
public abstract class RepTempRule{
protected String oldString=
public void setOldString(String oldString){
this
}
protected String newString=
public String getNewString(){
return newString;
}
public abstract void replace() throws Exception;
}
在RepTempRule中有一個抽象方法abstract需要繼承明確
對應的類分別是RepTempRuleOne RepTempRuleTwo
public class RepTempRuleOne extends RepTempRule{
public void replace() throws Exception{
//replaceFirst是jdk
newString=oldString
System
}
}
public class RepTempRuleTwo extends RepTempRule{
public void replace() throws Exception{
newString=oldString
System
}
}
至此我們完成了類圖的設計和程序編制
public class test{
public void testReplace(){
//使用第一套方案進行替換
RepTempRule rule=new RepTempRuleOne();
rule
rule
}
}
實際整個Strategy的核心部分就是抽象類的使用
Strategy和Factory有一定的類似
Strategy適合下列場合
From:http://tw.wingwit.com/Article/program/Java/gj/201311/27578.html