深入了解Kotlin行为设计模式
1. 行为模式概述
行为模式主要探讨对象之间的交互方式。我们将学习对象如何根据不同情况改变其行为、对象如何在互不了解的情况下进行通信,以及如何轻松遍历复杂的数据结构。同时,还会涉及Kotlin中的函数式编程概念,这将有助于我们更便捷地实现这些模式。
涵盖的主题包括:
- Strategy(策略模式)
- Iterator(迭代器模式)
- State(状态模式)
- Command(命令模式)
- Chain of Responsibility(责任链模式)
- Interpreter(解释器模式)
- Mediator(中介者模式)
- Memento(备忘录模式)
- Visitor(访问者模式)
- Template method(模板方法模式)
- Observer(观察者模式)
技术要求:除了之前章节的要求外,还需要一个支持Gradle的Kotlin项目,以便添加所需的依赖项。
2. 策略模式(Strategy)
策略模式的目标是允许对象在运行时改变其行为。以之前设计的平台游戏为例,游戏设计师希望主角拥有至少三种不同的武器:
- Peashooter(豌豆射手):发射直线飞行的小豌豆,主角初始配备。
- Pomegranate(石榴):击中敌人时像手榴弹一样爆炸。
- Banana(香蕉):到达屏幕尽头时像回旋镖一样返回。
2.1 Java实现方式
首先定义一个 Weapon
接口: