/*
*
* 策略模式(Strategy)
* 如同LayoutManager和具体的布局管理器的关系,在抽象策略类中定义方法,在具体策略子类中实现。
* 客户代码根据不同的需要选择相应的具体类,例如电子商务中多种价格算法。
* 一种策略一旦选中,整个系统运行期是不变化的
*/
package model;
public class TestStrategy {
public static void main(String[] args) {
Strategy s1 = new May1Strategy();
Strategy s2 = new June1Strategy();
Book b = new Book(100);
b.setS(s2);
System.out.println(b.getPrice());
}
}
class Book {
Strategy s;
public Book(double price) {
this.price = price;
}
private double price;
public void setS(Strategy s) {
this.s = s;
}
public double getPrice() {
return price * s.getZheKou();
}
}
interface Strategy {
double getZheKou();
}
class May1Strategy implements Strategy {
public double getZheKou() {
return 0.8;
}
}
class June1Strategy implements Strategy {
public double getZheKou() {
return 0.7;
}
}
分享到:
相关推荐
走进设计模式之 策略模式(Strategy) 代码
【Java设计模式】(2)策略模式Strategy
设计模式C++学习之策略模式(Strategy)
C#面向对象设计模式 (行为型模式) Strategy 策略模式 视频讲座下载
C#面向对象设计模式纵横谈(23):(行为型模式) Strategy 策略模式
设计模式-策略模式(Strategy)结合Android小知识讲解,简单明了
在策略模式(Strategy Pattern)中一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。
这份文档讲诉了设计模式之策略(Strategy)模式,希望可以帮助学习的人!
2、爪哇语言抽象工厂创立性模式介绍 3、工厂方法创立性模式介绍 4、单态创立性模式介绍 5、单态创立性模式介绍 6、观察者模式介绍7、责任链模式 8、设计模式之Observer 9、设计模式之Strategy(策略) 10、设计模式之...
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第23节:行为型模式Strategy策略模式
创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder 设计模式之Singleton(单态) ...设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。...
设计模式 策略模式。金典模式之策略模式代码。
c++设计模式-行为型模式-策略模式;qt工程;c++简单源码; 策略(Strategy)模式的定义:该模式定义了一系列算法,并将每个算法封装起来,使它们可以相互替换,且算法的变化不会影响使用算法的客户。策略模式属于...
这种设计模式比较常用,希望能够帮助到大家。
定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。本模式使得算法的变化可独立于使用它的客户。
设计模式体现的是一种思想,而思想则是指导行为的一切,理解和掌握了设计模式,并不是说记住了23种(或更多)设计场景和解决策略(实际上这也是很重要的一笔财富),实际接受的是一种思想的熏陶和洗礼,等这种思想...
在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 策略模式java-demo 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 ...
设计模式参考文档 创建模式: 设计模式之Factory 设计模式之Prototype(原型) 设计模式之Builder ...设计模式之Strategy(策略) 设计模式之Mediator(中介者) 设计模式之Interpreter(解释器) 设计模式之Visitor
使用strategy策略模式完成算法的封装,实现三种排序算法之间的互相替换。