`
isiqi
  • 浏览: 16052680 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

策略模式

阅读更多

一、策略模式简介

策略模式的结构图如下所示:

策略模式

二、Java语言描述

用策略模式实现各种排序算法的调用:

package com.solid.pattern;

/**

* 策略模式

* @author solid

*/

public class Strategy {

private StrategyInter strategy;

public Strategy(StrategyInter strategy) {

this.strategy = strategy;

}

public void sort() {

strategy.sort();

}

}

package com.solid.pattern;

/**

* 策略模式(策略接口)

* @author solid

*/

public abstract class StrategyInter {

public abstract void sort();

}

package com.solid.pattern;

/**

* 策略模式(具体策略类)

* @author solid

*/

public class BuddleSort extends StrategyInter {

public void sort() {

//BuddleSort code

System.out.println("===BuddleSort===");

}

}

package com.solid.pattern;

/**

* 策略模式(具体策略类)

* @author solid

*/

public class InsertSort extends StrategyInter {

public void sort() {

//InsertSort code

System.out.println("===InsertSort===");

}

}

package com.solid.pattern;

/**

* 策略模式(具体策略类)

* @author solid

*/

public class QuickSort extends StrategyInter {

public void sort() {

//QuickSort code

System.out.println("===QuickSort===");

}

}

package com.solid.pattern;

/**

* 策略模式(具体策略类)

* @author solid

*/

public class SelectSort extends StrategyInter {

public void sort() {

//SelectSort code

System.out.println("===SelectSort===");

}

}

分享到:
评论
2 楼 Leopadler 2012-01-03  
有图就方便看多了。
1 楼 yiqi1943 2011-08-01  
大哥,你这个是可以随便换排序算法的程序吗?

相关推荐

Global site tag (gtag.js) - Google Analytics