java设计模式-策略模式
2017-09-22 18:12
453 查看
1 所有战略的公共抽象
public interface Trategy {
//战略抽象方法
public void trategyContent();
}
2 具体战略 实现了1中的接口
public class Trategy1 implements Trategy {
@Override
public void trategyContent() {
// TODO Auto-generated method stub
//战略一
System.out.println("这是战略一 ");
}
}
3 具体战略 实现了1中的接口
public class Trategy2 implements Trategy {
@Override
public void trategyContent() {
// TODO Auto-generated method stub
//战略二
System.out.println("这是战略二 ");
}
}
4 相当于存放战略的箱子 每个战略放在箱子中
// 存放战略的箱子
public class TrategyBox {
private Trategy trategy;
//构造函数 要使用的战略
public TrategyBox(Trategy trategy) {
this.trategy = trategy;
}
//使用战略
public void trategyContent() {
this.trategy.trategyContent();
}
}
5 某人开始使用战略
// 使用战略的人
public class TestMain {
/*
* 策略模式,高内聚低耦合的特点也表现出来了, 还有一个就是扩展性,也就是 OCP 原则,策略类可以继续增加下去
*/
public static void main(String[] args) {
//拿到战略一
TrategyBox t1 = new TrategyBox(new Trategy1());
System.out.println("看我使用战略一");
t1.trategyContent();//拆开执行
//拿到战略二
t = new TrategyBox(new Trategy2());
System.out.println("看我使用战略二");
t2.trategyContent();//拆开执行
}
}
总结 : 策略模式,高内聚低耦合的特点也表现出来了, 还有一个就是扩展性,也就是 OCP 原则,策略类可以继续增加下去
public interface Trategy {
//战略抽象方法
public void trategyContent();
}
2 具体战略 实现了1中的接口
public class Trategy1 implements Trategy {
@Override
public void trategyContent() {
// TODO Auto-generated method stub
//战略一
System.out.println("这是战略一 ");
}
}
3 具体战略 实现了1中的接口
public class Trategy2 implements Trategy {
@Override
public void trategyContent() {
// TODO Auto-generated method stub
//战略二
System.out.println("这是战略二 ");
}
}
4 相当于存放战略的箱子 每个战略放在箱子中
// 存放战略的箱子
public class TrategyBox {
private Trategy trategy;
//构造函数 要使用的战略
public TrategyBox(Trategy trategy) {
this.trategy = trategy;
}
//使用战略
public void trategyContent() {
this.trategy.trategyContent();
}
}
5 某人开始使用战略
// 使用战略的人
public class TestMain {
/*
* 策略模式,高内聚低耦合的特点也表现出来了, 还有一个就是扩展性,也就是 OCP 原则,策略类可以继续增加下去
*/
public static void main(String[] args) {
//拿到战略一
TrategyBox t1 = new TrategyBox(new Trategy1());
System.out.println("看我使用战略一");
t1.trategyContent();//拆开执行
//拿到战略二
t = new TrategyBox(new Trategy2());
System.out.println("看我使用战略二");
t2.trategyContent();//拆开执行
}
}
总结 : 策略模式,高内聚低耦合的特点也表现出来了, 还有一个就是扩展性,也就是 OCP 原则,策略类可以继续增加下去
相关文章推荐
- JAVA设计模式-策略模式应用实例
- Java设计模式(5)——策略模式
- java策略设计模式
- java 策略设计模式 装饰器模式
- java设计模式-策略模式
- [设计模式] - 策略模式(Java篇)
- java23种设计模式之策略模式
- Java设计模式之策略模式
- Java设计模式之策略模式
- 浅谈 java 设计模式--策略模式(Strategy pattern)
- Java设计模式—— 策略(Strategy)
- Java开发中的23种设计模式详解----策略模式(strategy)
- java设计模式(工厂方法模式、抽象工厂模式、单例模式、建造者模式、原型模式、适配器模式、装饰器模式、代理模式、外观模式、桥接模式、组合模式、享元模式,。 行为型模式,共十一种:策略模式、模板方法)
- Java设计模式之策略模式
- java策略设计模式
- Java设计模式之策略模式
- Java 设计模式--策略(Strategy)
- java接口应用—策略设计模式
- java设计模式——策略模式(Strategy Pattern)
- 23种设计模式(11)java策略模式