本文已参与[新人创作礼]活动,一起开启掘金创作之路。
说明
- 定义一组算法,将每个算法都封装起来,并且使他们之间可以互换。
角色
- 抽象策略
- 具体策略
- 环境
代码实现
- 可以在不同的场景下选择不同的策略,比如支付宝微信支付等。
public interface IStrate {
void doSomething();
}
public class Strate1 implements IStrate{
@Override
public void doSomething() {
System.out.println("第一件");
}
}
public class Strate2 implements IStrate{
@Override
public void doSomething() {
System.out.println("第二件");
}
}
public class Strate3 implements IStrate{
@Override
public void doSomething() {
System.out.println("第三件");
}
}
public class Content {
private IStrate strate;
Content(IStrate strate){
this.strate = strate;
}
public void doSomething(){
strate.doSomething();
}
}
public class Test {
public static void main(String[] args){
IStrate strate1 = new Strate1();
Content content = new Content(strate1);
content.doSomething();
}
}