NOTES / COMPUTER

行为型设计模式

对象交互与行为组织的学习笔记。

策略模式

// 策略接口
class Brake{
public:
    virtual void execute() =0;
};
// 策略1的实现
class ABSBrake: public Brake{
    void execute(){
        std::cout << "ABS Brake sys." << std::endl;
    }
};
// 策略2的实现
class AEBBrake: public Brake{
    void execute(){
        std::cout << "AEB Brake sys." << std::endl;
    }
};
// 
class Car{
public:
    Car(Brake* brake): brakeSystem(brake){};
    virtual void brake() =0;
protected:
    Brake* brakeSystem;
};
class SUV: public Car{
public:
    SUV(Brake* brake): Car(brake){};
    void brake(){
        std::cout << "SUV: ";
        brakeSystem->execute();
    }
};
class ECar: public Car{
public:
    ECar(Brake* brake): Car(brake){};
    void brake(){
        std::cout << "ECar: ";
        brakeSystem->execute();
    }
};

模板模式

ZYK · 笔记与实践返回首页