設計模式學習與應用——策略模式

概念

策略模式定義了一系列的算法,並將每個算法封裝起來,並且使他們能夠相互替換,讓算法獨立於使用它的客戶而獨立變化。java

使用場景

1.在系統裏面許多類,類之間區別僅在於方法行爲,那麼策略模式能夠動態的從一個對象在許多行爲中選擇一種行爲
2.一個系統須要動態地在幾種算法中選擇一種算法

策略模式的實例

抽象策略類測試

public interface Strategy(){
	public void print();
}

具體策略類this

public class PrintA implements Strategy{
	public void print(){
		System.out.println("我是A");
	}
}

public class PrintB implements Strategy{
	public void print(){
		System.out.println("我是B");
	}
}

環境角色code

public class Context{
	private Strategy strategy;
	public Context(Strategy strategy){
		this.strategy = strategy;
	}
	public void contextInterface(){
		strategy.print();
	}
}

測試對象

public static void main(String[] args){
	Context context = new Context(new PrintA());
	context.contextInterface();
	Context context = new Context(new PrintB());
	context.contextInterface();
}
相關文章
相關標籤/搜索