常见设计模式与Kotlin应用实践
1. 命令模式(Command Pattern)
1.1 流畅语法实现
在编程中,我们常常需要对对象执行一系列命令。通过定义 appendMove 函数,我们可以实现一种流畅的语法来添加移动命令。以下是具体代码:
fun appendMove(x: Int, y: Int) = apply {
commands.add(moveGenerator(this, x, y))
}
使用示例如下:
val trooper = Trooper()
trooper.appendMove(20, 0)
.appendMove(20, 20)
.appendMove(5, 20)
.execute()
这段代码会输出:
> Moving to (20, 0)
> Moving to (20, 20)
> Moving to (5, 20)
这种流畅语法的好处是可以轻松地在同一个对象上链式调用方法,而无需多次重复对象名。
1.2 命令撤销功能
命令模式的一个优点是支持命令撤销。但撤销操作通常比较复杂,可能涉及以下几种方式:
- 返回上一个状态(如果有多个客户端,这需要大量内存,可能不可行)
- 计算差异(实现起来比较棘手)
超级会员免费看
订阅专栏 解锁全文
71

被折叠的 条评论
为什么被折叠?



