32|当策略模式遇上函数式:打造一个函数式策略模式的程序
康杨
你好,我是康杨。今天我们一起聊下策略模式。
策略模式在许多开源框架中都有着广泛的应用,比如 Spring,还有许多 Java 类库都有策略模式的身影。这是因为策略模式有着优秀的扩展能力,可以方便地添加新的策略而不改变原有代码。
策略模式通过定义一系列接口,将不同的行为或算法封装成具有相同接口的对象,便于它们之间互相替换,从而达到动态更换行为的目的。因此它属于我们上节课说的那三种设计模式中的行为型设计模式。
行为型设计模式
为了更好地了解策略模式,我们先来聊聊行为型设计模式是什么。在设计模式的大家族中,行为型设计模式是个非常重要的分支。这个分支主要关注的是对象之间的相互交互,也就是说,怎么样让各个对象在一起协同工作,高效地解决问题。
行为型设计模式里面包括好几个重要的成员。比如熟悉的观察者模式,还有命令模式、策略模式、模板方法模式、迭代器模式、责任链模式、中介者模式、备忘录模式、访问者模式、解释器模式、状态模式等等。
行为型设计模式主要解决的是对象如何协作,怎样分工,以及如何实现对象间的责任分配。比如一个项目的开发,可能会有非常多的对象同时运作,如果没有一些好的方法来管理他们,随着项目复杂度的增加,就会很容易陷入混乱。而行为型设计模式,就是给出了一系列的解决方案,方便我们在不改变对象自身的前提下,调整对象间的关系,实现复杂功能的高效完成。
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
策略模式:灵活处理算法和行为 策略模式是一种重要的设计模式,允许在运行时动态选择算法或策略,使代码更加灵活和适应变化。本文介绍了策略模式的概念和在面向对象编程和面向函数编程中的实现方式。在面向对象编程中,需要为每种策略创建一个新类,而在面向函数编程中,可以使用lambda表达式和函数接口来实现策略模式,使代码更加简洁和灵活。文章还提到了策略模式在业界的实践,如在Spring框架和Java的排序类中的应用。总之,策略模式是一种强大的设计模式,能够提供一种优雅的方式来处理不同的行为和算法,使代码更有力量、更具有生命力。
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《云时代的 JVM 原理与实战》,新⼈⾸单¥59
《云时代的 JVM 原理与实战》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
全部留言(1)
- 最新
- 精选
- peter请教老师两个问题: Q1:策略模式可以动态改变“运行时行为”,但文中的例子哪里体现了“运行时行为”? Q2:一个博客上,Java helloworld例子,运行时指定“-Xms200”,指定200M内存,但打印的内存信息显示总的内存是245M,为什么会高于200M?2023-11-10归属地:北京
收起评论