【发布时间】:2021-06-04 06:00:39
【问题描述】:
我有一个应用程序,我希望用户能够从可能的操作列表中进行选择并将它们归因于一个按钮,即按钮 a 呼叫妈妈,滑块 b 设置计时器......等等。
我已经构建了大量命令类,并且我的按钮/滑块有一个遵循命令模式的命令“槽”。
但是如何保存用户的选择?我的持久数据在 JSON 中,我将在 JSON 中存储什么?对类名的某种引用?
在命令模式教程中,该示例通常用于上下文菜单,允许用户将操作分配给菜单选项,但他们从未提及实际保存用户选择的方式。
【问题讨论】:
-
序列化超出了大多数设计模式的范围。事实上,您可以以任何您喜欢(或根本不)的方式序列化对象并满足命令模式。有许多专门用于对象序列化的库;但如果某种其他形式的标识符足以让您反序列化命令并且您不需要序列化完整的对象,那也可以。
-
谢谢。我看了一下连载(阅读一些文章并观看了 30 分钟的讲座)。所有给定的示例都是针对具有属性的类,而不是具有仅在运行时才知道的参数的函数。
标签: android kotlin design-patterns command-pattern