Strategy
定义
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。
本模式使得算法可独立于使用它的客户而变化。
栗子
java标准库
Arrays.sort()
1
2
3
4
5
6
7public static void main(String[] args) {
String[] array = { "apple", "Pear", "Banana", "orange" };
Arrays.sort(array,String::compareToIgnoreCase);
for (var s : array) {
System.out.print(s);
}
}
自己写一个demo
1 | package eternal.fire; |
核心思想
在一个计算方法中把容易变化的算法抽出来作为“策略”参数传进去,使得新增策略不必修改原有逻辑。
