概念
使用场景
一个类定义了多种行为,并且这些行为在这个类中
代替 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));
}
}
这就是策略