主要观点:没有好坏代码,关键在于如何编写。通过 Po 学习不同编程方式来展示代码差异,包括传统 OOP 策略模式的繁琐与新的函数式编程方式的简洁灵活。
关键信息:
- 传统 OOP 策略模式通过接口、具体策略类和上下文类来实现根据对手选择战斗策略,如 Java 代码所示,但存在文件多、接口多、代码冗长等问题。
- 函数式编程中,函数是一等公民,可直接传递行为,高阶函数可接收或返回函数,如 Java 8 中借助 lambda 实现函数式策略模式,无需类包裹行为,更简洁可读、可组合灵活,能促进行为即数据的理念。
- 以选择应用中的支付策略为例,展示函数式编程方式的优势,像从篮子中选饺子,每个“饺子”是一个动作。
重要细节: - Po 最初在写 Java 代码时遇到代码臃肿问题,向 Shifu 请教。
- Shifu 介绍函数式编程的概念,如 lambda 可包裹功能并作为参数传递。
- 详细展示了函数式策略模式的代码实现,包括不同战斗风格的 lambda 定义和执行策略的方法。
- 强调函数式编程的好处,如无需额外接口或类、可轻松在运行时切换行为、更可读可组合灵活等。
- 提到后续系列内容将介绍函数式编程解决装饰器模式和命令模式的问题。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。