一) 策略模式简介
策略模式的结构图如下所示:

二) 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===");
}
}
本文介绍策略模式并通过Java实现不同排序算法的灵活切换。策略模式允许在运行时选择算法或行为,展示了如何通过定义策略接口及其实现类来实现这一目标。
1304

被折叠的 条评论
为什么被折叠?



