概念
使用場景
一個類定義了多種行為,并且這些行為在這個類中
代替 if else
不要用if else
其實就是 讓他們 實現了同一個接口
在主類中,放了一 這個接口的引用,通過這個接口去掉 接口中的方法。
策略模式 滿足開閉原則
策略模式 在 android 中的實際應用
1 Volley 中對于 HttpStack的設計就是用到了策略模式
public interface HttpStack {
}
public class HttpClientStack implements HttpStack {
}
if (stack == null) {
if (Build.VERSION.SDK_INT >= 9) {
stack = new HurlStack();
} else {
// Prior to Gingerbread, HttpUrlConnection was unreliable.
// See: http://android-developers.blogspot.com/2011/09/androids-http-clients.html
stack = new HttpClientStack(AndroidHttpClient.newInstance(userAgent));
}
}
這就是策略