策略模式
定义一些独立的类来封装不同的算法
类似于common方法或者引用类
角色
环境类Context
抽象策略Strategy
具体策略ConcreteStrategy
重构伴随着设计模式
重构类结构
重构文件名称,变量名称
重构算法
看例子,排序算法策略
1.抽象策略
package Strategy;
/**
* Created by Jiqing on 2016/10/30.
*/
public interface Sort {
public abstract int[] sort(int arr[]);
}
2.具体排序算法,具体策略
package Strategy;
/**
* Created by Jiqing on 2016/10/30.
*/
public class BubbleSort implements Sort{ // 冒泡排序策略
public int[] sort(int arr[]) {
int len = arr.length;
for(int i=0;i
{
for(int j=i+1;j
{
int temp;
if(arr[i]>arr[j])
{
temp=arr[j];
arr[j]=arr[i];
arr[i]=