代码之家  ›  专栏  ›  技术社区  ›  07_05_GuyT

如何从API扩展ui

  •  2
  • 07_05_GuyT  · 技术社区  · 10 年前

    我的问题是关于概念(我需要一些如何正确实施的建议)。 我在构建UI时使用了MVC模式,目前这个UI提供两个插件,因为他们应该使用的UI是 完全相同的 .所以这两个插件都调用了这个UI,这一切都很正常。现在有第三个(和四个:)插件应该使用一些UI控件和逻辑,所以我想提供一些机制,让用户能够决定要在屏幕中绘制哪个控件,而不是为这个插件构建新的UI。所以目前我需要打破这个观点 部分 但我的问题是,这样做的最佳方式是什么? (从设计和概念方面)

    视图是从生成的 6个控件 默认情况下,所有插件都必须使用 从他们和其他是可选的。例如,新插件可以使用强制的两个控件,并另外提供两个控件。

    2 回复  |  直到 10 年前
        1
  •  2
  •   Phil Wright    10 年前

    如果不了解语言和平台,很难回答。

    6个控件中的每一个都有一个视图和控制器。每个视图/控制器都需要一个对模型的引用,该模型公开了适合视图显示和控制器调用的数据和方法。所以问题是如何将每个插件连接到6个可能控件的子集。

    在您的例子中,我将创建6个接口,这些接口公开与6个控件中的每个控件相关的数据和方法。每个插件只实现该插件可能的接口。此外,它将公开所有插件实现的标准接口。该标准接口将提供所需显示的强制接口列表,以及允许显示的可选接口列表。

    然后,主视图获取一个插件,并要求提供强制接口列表。它创建这些子控件,并将相关的插件接口传递给每个子控件。然后,它会查看可选选项。它只创建其中两个用于显示,并将它们连接起来。

    如果没有更多细节,很难更精确。

        2
  •  2
  •   hsafarya    10 年前

    你可以尝试使用MVVM(Model,View,ViewModel)模式,它更方便剪切代码,你可以在谷歌“MVVM”中搜索,有很多关于它的文章。