package tech.selinux.design.pattern.behavioral.strategy;
public interface Strategy {
void doPromotion();
}
package tech.selinux.design.pattern.behavioral.strategy;
public class Activity {
private Strategy strategy;
public Activity(Strategy strategy) {
this.strategy = strategy;
}
public void executeStrategy() {
strategy.doPromotion();
}
}
package tech.selinux.design.pattern.behavioral.strategy;
public class FanXianStrategy implements Strategy {
@Override
public void doPromotion() {
System.out.println("返现促销");
}
}
package tech.selinux.design.pattern.behavioral.strategy;
public class LiJianStrategy implements Strategy {
@Override
public void doPromotion() {
System.out.println("立减促销");
}
}
package tech.selinux.design.pattern.behavioral.strategy;
public class ManJianStrategy implements Strategy {
@Override
public void doPromotion() {
System.out.println("满减促销");
}
}
package tech.selinux.design.pattern.behavioral.strategy;
public class Test {
public static void main(String[] args) {
Activity activity618 = new Activity(new LiJianStrategy());
Activity activity1111 = new Activity(new FanXianStrategy());
activity618.executeStrategy();
activity1111.executeStrategy();
}
}