设计模式

设计模式---策略模式

2018-05-29  本文已影响0人  阿鸽

一、基础概念

1、策略模式:它定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响到使用算法的客户。

2、适用场景:策略模式就是用来封装算法的。多个类只区别在表现行为不同,在运行时动态选择具体要执行的行为。需要在不同情况下使用不同的策略,或者策略在未来还有其他方式实现。对客户隐藏具体策略的实现细节,彼此完全独立。

3、UML结构

Context:环境上下文,用一个ConcreteStrategy来配置,维护一个对Strategy对象的引用,客户端调用该类的方法

Strategy:抽象策略类,定义所有支持的算法的公共接口

ConcreteStrategy:具体策略类,封装了具体的算法或行为,继承于Strategy

4、代码描述

抽象策略类:CashSuper.java

具体策略类:NormalCash.java

具体策略类:RebateCash.java

上下文类:CashContext.java

上一篇 下一篇

猜你喜欢

热点阅读