【问题标题】:Control setup for a command oriented interface?面向命令的界面的控制设置?
【发布时间】:2014-12-20 02:06:31
【问题描述】:

我为数据库中的每个用户存储了一个可自定义的控制设置。 现在我正在加载控件设置,看起来像这样:

some possible user input (eg. ctrl + s) => some command (eg. save file)

现在我有了一个在运行时根据数据库中的信息生成的哈希/字典。

哈希有一个key 是用户的输入,还有一个value 是激活命令所必需的。

由于这是一个面向命令的接口,该值需要允许我实例化一个新的命令对象,例如,该值可以是一个工厂。

问题是我对每个命令都有一个工厂的概念感到沮丧,因为这听起来有点矫枉过正,因为有很多命令。

我想知道是否有更简洁的方法来设置面向命令的界面。

我正在使用 Haxe,但这是一个通用的 oop / 设计模式问题。

【问题讨论】:

    标签: oop design-patterns


    【解决方案1】:

    您可以使用命令处理器注册您的命令,然后处理器会依次要求每个命令响应输入。如果命令响应,则处理器工作完成;如果没有,它会询问chain 中的下一个命令。

    或者,对于字符串输入与命令的简单匹配,处理器可以保留字符串输入到命令实例的映射(或哈希表)。

    这一切都假定您的命令已经实例化并且是处理器保存的集合的一部分,因此它们也应该在调用之间可重用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-04-07
      • 2011-03-16
      • 1970-01-01
      • 2021-06-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多