天天看点

GOF——策略模式

if..else不好维护时使用策略模式替换

interface Straggle {
    double price(double price);
}

class OldStraggly implements Straggle {
    @Override
    public double price(double price) {
        return price * 0.9;
    }
}

class NewStraggly implements Straggle {
    @Override
    public double price(double price) {
        return price;
    }
}
           
/**
 * 策略模式
 */
public class Strategy {
    public static void main(String[] args) {
        Straggle straggle = new OldStraggly();
        straggle.price(1);
        System.out.println("----------------");
        Straggle straggle1 = new NewStraggly();
        straggle1.price(1);
    }
}