策略模式
定义
策略模式作为一种软件设计模式,指对象有某个行为,但是在不同的场景中,该行为有不同的实现算法。 ——维基百科
Demo
Pay.java
public interface Pay {
void pay();
}
AliPay.java
public class AliPay implements Pay {
@Override
public void pay() {
System.out.println("支付宝付款成功");
}
}
WeixinPay.java
public class WeixinPay implements Pay {
@Override
public void pay() {
System.out.println("微信付款成功");
}
}
Context.java
//屏蔽具体实现细节
public class Context {
private Pay pay;
public Context(Pay pay) {
this.pay = pay;
}
public void pay() {
pay.pay();
}
}
Test.java
public class Test {
public static void main(String[] args) {
Context context = new Context(new AliPay());
context.pay();
}
}