使用场景:
假如给你一个整型数组,我想对数组进行排序,可以有好多种方法。选择排序,冒泡排序,插入排序,快排等等。
如果我在使用的时候到底选择哪一种排序方法?
写在一个类里以参数值来区分? no
策略模式就是:不影响用户使用,内部可以自由的选择算法。
首先定义一个排序算法接口
public interface MySort{ String getSQL(Integer[] arr); }
每一个排序算法都实现这个接口
使用场景:
假如给你一个整型数组,我想对数组进行排序,可以有好多种方法。选择排序,冒泡排序,插入排序,快排等等。
如果我在使用的时候到底选择哪一种排序方法?
写在一个类里以参数值来区分? no
策略模式就是:不影响用户使用,内部可以自由的选择算法。
首先定义一个排序算法接口
public interface MySort{ String getSQL(Integer[] arr); }
每一个排序算法都实现这个接口