一) 策略模式简介
策略模式的结构图如下所示:
二) Java语言描述
用策略模式实现各种排序算法的调用:
/*
* 策略模式(策略构件)
* @author junin
*/
public class Strategy
{
private StrategyInter strategy;
public Strategy(StrategyInter strategy)
{
this.strategy = strategy;
}
public void sort()
{
strategy.sort();
}
}
/*
* 策略模式(策略接口)
* @author junin
*/
public abstract class StrategyInter
{
public abstract void sort();
}
/*
* 策略模式(具体策略类)
* @author junin
*/
public class BuddleSort extends StrategyInter
{
public void sort()
{
//BuddleSort code
System.out.println("===BuddleSort===");
}
}
/**
* 策略模式(具体策略类)
* @author junin
*/
public class InsertSort extends StrategyInter
{
public void sort()
{
//InsertSort code
System.out.println("===InsertSort===");
}
}
/**
* 策略模式(具体策略类)
* @author junin
*/
public class QuickSort extends StrategyInter
{
public void sort()
{
//QuickSort code
System.out.println("===QuickSort===");
}
}
/**
* 策略模式(具体策略类)
* @author solid
*/
public class SelectSort extends StrategyInter
{
public void sort()
{
//SelectSort code
System.out.println("===SelectSort===");
}
}