设计模式之策略模式
来源:互联网 发布:大宗商品交易系统源码 编辑:程序博客网 时间:2024/05/17 09:06
什么是策略模式?
Strategy pattern is mainly about using different algorithm at different situation.
策略模式的好处在于你可以动态的改变对象的行为。
一般的,策略模式主要分为以下三个角色:
1.环境角色(Context):持有一个策略类引用
2.抽象策略(Strategy):定义了多个具体策略的公共接口,具体策略类中各种不同的算法以不同的方式实现这个接口;Context使用这些接口调用不同实现的算法。一般的,我们使用接口或抽象类实现。
3.具体策略(ConcreteStrategy):实现抽象策略类中的相关的算法或操作。
/** * 策略模式首先定义了一个接口行为,实现了接口的子类有不同的行为实现 然后再一个场景类中维护了一个指向接口类的引用。 这样在不同的场景下调用不同的 * 行为算法来处理 */interface Strategy {// 定义接口方法public void processPrice(int price);}// VIP待遇class Vip implements Strategy {public void processPrice(int price) {System.out.println("VIP用" + price + "元坐在VIP房");}}// 普通待遇class Ordinary implements Strategy {public void processPrice(int price) {System.out.println("Ordinary用" + price + "元坐在普通房");}}class Situation {private Strategy strategy;public Situation(Strategy strategy) {this.strategy = strategy;}public void handConsumer(int price) {this.strategy.processPrice(price);}}public class Main {public static void main(String[] args) {Ordinary ord = new Ordinary();Vip vip = new Vip();Situation s1 = new Situation(ord);Situation s2 = new Situation(vip);s1.handConsumer(10);s2.handConsumer(10);}}
0 0
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- 设计模式之策略模式
- android 获取系统默认路径
- socket类型及应用
- 学习改造d层代码1
- wxpython嵌套panel布局的一个问题
- 2022 海选女主角
- 设计模式之策略模式
- 方向和目标
- opencv-1.0静态库
- 如何实现C++单例模式?
- 面包树
- java.util.ConcurrentModificationException的解决方法
- 使用微信支付购买《微信公众平台最佳实践》
- 把你的英语用起来
- 论程序员效率相关