梗概 有不同的操作,让调用方来选择其中一个操作 每一操作都封装在一个类中暴露出去 适用范围 场景 举例:旅行的出游方式,选择骑自行车、坐汽车,每一种旅行方式都是一个策略。 优点 算法可以自由切换。 避免使用多重条件判断。 扩展性良好。 缺点 策略类会增多。 如果一个系统的策略多于四个,就需要考虑使用混合模式,解决策略类膨胀的问题。 所有策略类都需要对外暴露。 Java实现 Site Unreachable