策略模式
2009-10-19 22:02
295 查看
一、策略模式简介
策略模式的结构图如下所示:
二、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===");
}
}
策略模式的结构图如下所示:
二、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===");
}
}
相关文章推荐
- 设计模式之策略模式
- 策略模式
- 设计模式一:策略模式
- Java设计模式学习之一---策略模式
- [设计模式]策略模式
- 设计模式:策略模式(Strategy)
- 我读设计模式之策略模式(Strategy pattern)
- 设计模式C++实现(2)——策略模式
- android架构之模板方法模式和策略模式
- 大话设计模式之策略模式
- Java设计模式-策略模式
- 23种设计模式之策略模式
- C++设计模式之二十一:Strategy(策略模式)
- 设计模式和原则:策略模式
- 设计模式之策略模式(Strategy)
- 策略模式
- First Head 设计模式之策略模式(Strategy Pattern)
- 设计模式-策略模式(Java)
- 设计模式之策略模式
- Java中策略设计模式