策略模式
策略模式属于行为型模式,定义了一系列算法并封装起来,之间可以互相替换。策略模式主要解决在有多种算法相似的情况下,使用 if/else 所带来的难以维护。
优点是算法可以自由切换,可以避免使用多重条件判断并且扩展性良好,缺点是策略类会增多并且所有策略类都需要对外暴露。
-
在集合框架中,经常需要通过构造方法传入一个比较器 Comparator 进行比较排序。
Comparator 就是一个抽象策略,一个类通过实现该接口并重写 compare 方法成为具体策略类。 -
创建线程池时,需要传入拒绝策略,当创建新线程使当前运行的线程数超过 maximumPoolSize 时会使用相应的拒绝策略处理。