策略设计模式
来源:互联网 发布:90淘宝创业成功案例 编辑:程序博客网 时间:2024/06/01 09:46
策略设计
* 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以相互替换。策略模式让算法独立于是用它的客户而独立变化。
/**
* 回家策略接口
* @author dell
*
*/
public interface GoHomeStrategy {
public String goHomeByWhat();
}
package Strategy;
public class AFewPeople implements GoHomeStrategy {
@Override
public String goHomeByWhat() {
return "乘飞机回家!!!";
}
}
package Strategy;
public class MiddleFewPeople implements GoHomeStrategy {
@Override
public String goHomeByWhat() {
return "乘火车回家!!!";
}
}
package Strategy;
public class MorePeople implements GoHomeStrategy {
@Override
public String goHomeByWhat() {
return "乘汽车回家!!!";
}
}
package Strategy;
public class PeopleGoHome {
private GoHomeStrategy strategy;
public PeopleGoHome(GoHomeStrategy strategy) {
super();
this.strategy = strategy;
};
public String getGoHomeStrategy(){
return strategy.goHomeByWhat();
}
}
package Strategy;
/**
* 策略模式定义了一系列的算法,并将每一个算法封装起来,而且使他们还可以相互替换。策略模式让算法独立于是用它的客户而独立变化。
* @author dell
*
*/
public class ClientTest {
public static void main(String[] args) {
GoHomeStrategy s1 = new MorePeople();// 封装起来的算法,完全独立于客户端
PeopleGoHome pg = new PeopleGoHome(s1);// 调用算法策略
System.out.println(pg.getGoHomeStrategy());
GoHomeStrategy s2 = new MiddleFewPeople();
PeopleGoHome pg2 = new PeopleGoHome(s2);
System.out.println(pg2.getGoHomeStrategy());
GoHomeStrategy s3 = new AFewPeople();
PeopleGoHome pg3 = new PeopleGoHome(s3);
System.out.println(pg3.getGoHomeStrategy());
}
}
- 设计模式-策略模式
- 设计模式:策略模式
- 设计模式-策略模式
- 设计模式 - 策略模式
- 设计模式-策略模式
- 设计模式-----策略模式
- 设计模式 策略模式
- 设计模式-策略模式
- 设计模式-【策略模式】
- 设计模式-----策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- 设计模式- 策略模式
- 设计模式- 策略模式
- 设计模式------策略模式
- 设计模式--策略模式
- 设计模式-策略模式
- 设计模式--策略模式
- ubuntu12.04安装qt5错误解决办法
- 二级域名可以访问,一级域名访问出现问题的解决方案
- 1001—A+B for Matrices
- WINDOWS 系统错误代码大全
- SQL server开启TCP/IP登录,并且启用默认的1433端口
- 策略设计模式
- 高效程序员的45个习惯-学习笔记
- 数据库死锁
- hdu 2156(水)
- 有些人啊,老是看这个人不顺眼
- 责任链模式(职责链模式)
- TransitionManager效果(转)
- 第八周项目二----time类中的运算符重载
- 让Nginx支持CGI