【问题标题】:Design pattern for multiple view states?多视图状态的设计模式?
【发布时间】:2011-09-03 05:26:17
【问题描述】:

我有一个应用程序可以引导用户完成一系列步骤,配置产品,比如大约 10 多个屏幕。可以选择返回、跳到某个点等。我需要在这些步骤之间淡入淡出,并且随时可以切换语言。

我正在考虑使用 MVC 样式模式,拥有一个接受“下一个视图”并将其淡入的主视图,删除旧的。

拥有 10 多个独立的视图类,使用类似的组件来完成这项任务感觉很臃肿,所以想知道 我应该研究哪些其他方法?或适合此类应用的应用程序

【问题讨论】:

  • 有 10 多个单独的视图有什么问题?拥有多个州的 1 个大班对我来说似乎更糟
  • 我猜没什么,除了感觉这可能不是最好的前进方式。因为两个视图可能与一点点文本和一些选项没有什么不同。但我想开发起来会更简单、更清晰。
  • 炫酷的欢呼看起来很有用
  • +1 @Florian。我觉得 10 或 20 或 30 个单独的视图类很好。每个都应该继承或实现一套标准的方法,尽可能地共享功能。但是 - 鉴于您有单独的内容,每个内容都需要每个页面/视图中的特殊行为,将其分成单独的类似乎是非常合理的(并且比一个处理所有的上帝类更可取)。过去我遵循了这种精确的模式并取得了相当大的成功。

标签: actionscript-3 model-view-controller design-patterns user-interface view


【解决方案1】:

在分离你的观点之前,先想想它们的共同点。

我的第一个直觉是创建一个 View 类并为视图本身设置必要的属性,即在屏幕之间淡入淡出以及您需要与设计有关的任何其他内容。

您说用户会配置产品,因此您可能希望创建一个配置类,仅用于该目的。注意不要在你的对象之间引入过多的依赖。

Configuration 类不应该对 View 类了解太多,更具体地说是它的显示方式。

在不了解您的项目的情况下很难说出更多信息,但想法是分离视图和数据,查看您的对象的共同点,然后使用变量或其他对象来引入更多特异性。

【讨论】:

  • 好的,谢谢,我想我已经明白了 - 我昨晚开始玩机械腿,我想我只是开始在这个简单的应用程序中让自己的事情变得过于复杂。
【解决方案2】:

我已使用 Gaia Flash 框架来执行此操作。 http://www.gaiaflashframework.com/

这个视频介绍http://tv.adobe.com/watch/fitc/gaia-framework-for-adobe-flash/ 应该让你明白为什么我认为它对你有用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-27
    • 2016-12-24
    • 1970-01-01
    • 1970-01-01
    • 2017-02-26
    相关资源
    最近更新 更多