多个视图状态的设计模式?

6
我有一个应用程序,需要用户完成一系列步骤,配置产品,大约有10个以上的屏幕。其中包括返回、跳过某些步骤等选项。我需要在这些步骤之间进行渐变,并且随时可以切换语言。
我考虑使用MVC模式,使用主视图接受“下一个视图”并淡入,删除旧视图。
对于这个任务,使用10个以上的单独视图类并使用相似组件感觉很臃肿,所以想知道还有哪些其他方法适合这种应用程序?或者是否有一个特别适合的方法?

2
拥有10个以上的单独视图有什么问题吗? 对我来说,拥有一个大类别并具有多个状态似乎更糟糕。 - Florian F
我想除了感觉这可能不是最好的前进方式之外,没有别的了。因为两个视图可能与一些文本和几个选项没有太大区别。但是我认为开发起来会更简单、更清晰。 - davivid
请查看此处的步进器组件:http://lab.kapit.fr/documentation/klovis/prod/klovis-flex-core/asdoc/index.html - Florian F
很酷,太棒了,看起来很有用。 - davivid
+1 @Florian。10或20或30个单独的视图类我觉得很好。每个类都应该继承或实现一组标准方法,尽可能共享功能。但是 - 鉴于您有单独的内容,每个页面/视图都需要特定的行为,将其分开成单独的类似乎非常合理(并且比处理所有内容的一个大类要好得多)。我以前就按照这个精确模式做过,并取得了相当不错的成功。 - Bosworth99
2个回答

3
在分离视图之前,首先考虑它们的共同点。
我的第一反应是创建一个View类,并为视图本身设置必要的属性,即在屏幕之间淡入淡出以及与设计相关的其他内容。
您说用户将配置产品,因此您可能需要创建一个Configuration类,仅用于此目的。注意不要在对象之间引入过多的依赖关系。
Configuration类不应过多地了解View类,更具体地说,不应过多了解它的显示方式。
没有了解项目很难做更多的说明,但基本思想是分离视图和数据,查看对象的共同点,然后使用变量或其他对象来引入更多的特定性。

好的,谢谢。我觉得我开始理解了——昨晚我开始尝试使用Robotlegs,我想我在这个简单的应用程序中开始把事情搞复杂了。 - davivid

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接