《Java设计模式及实践》—3.9 策略模式

举报
华章计算机 发表于 2019/07/22 13:33:36 2019/07/22
【摘要】 本节书摘来自华章计算机《Java设计模式及实践》一书中的第3章,第3.9节,[印度] 卡马尔米特·辛格(Kamalmeet Singh)[荷兰] 艾德里安·伊恩库列斯库(Adrian Ianculescu) 著[罗马尼亚] 路西安-保罗·托尔耶(Lucian-Paul Torje) 张小坤 黄 凯 贺 涛 译.

3.9 策略模式

行为模式的一个特定情况,是我们需要改变解决一个问题与另一个问题的方式。正如在第1章中学到的那样,改变是不好的,而扩展是好的。因此,我们可以将两块代码封装在一个类中,而不是用一部分代码替换另一部分代码。然后可以创建代码所依赖类的抽象。这样会使代码变得非常灵活,我们可以使用任何实现了刚刚创建的抽象的类。

1.目的

策略模式定义了一系列算法,封装了每个算法,并使它们可以互换。

2.实现

策略模式的结构实际上与状态模式的相同。但是实现和意图完全不同。如图3-10所示。

 image.png

图 3-10

策略模式非常简单:

  • Strategy(抽象策略):特定策略的抽象。

  • ConcreteStrategy(具体策略):实现抽象策略的类。

  • Context(环境):运行特定策略的类。


【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。