策略模式

策略模式属于行为型模式,定义了一系列算法并封装起来,之间可以互相替换。策略模式主要解决在有多种算法相似的情况下,使用 if/else 所带来的难以维护。

优点是算法可以自由切换,可以避免使用多重条件判断并且扩展性良好,缺点是策略类会增多并且所有策略类都需要对外暴露。

  • 在集合框架中,经常需要通过构造方法传入一个比较器 Comparator 进行比较排序。
    Comparator 就是一个抽象策略,一个类通过实现该接口并重写 compare 方法成为具体策略类。

  • 创建线程池时,需要传入拒绝策略,当创建新线程使当前运行的线程数超过 maximumPoolSize 时会使用相应的拒绝策略处理。

策略模式详解 - 开发圈DevOps的文章 - 知乎
【设计模式系列】策略模式看这篇就够了

posted @ 2022-05-06 17:37  张三丰学Java  阅读(29)  评论(0编辑  收藏  举报