(1) Strategy 类:定义所有支持的算法的公共接口,用纯虚函数定义抽象算法接口; (2) ConcreteStategy 类簇:封装了具体的算法或行为,继承自Strategy,各种策略的具体实现; (3) Context 类,持有一个策略类的引用,传入具体的ConcreteStategy来配置,最终给客户端调用。