【发布时间】:2013-10-08 11:28:35
【问题描述】:
我想在这里问的是一个设计问题。
我有一个 CustomUIViewController 来处理控制器视图中的一些子视图。
这两个视图在逻辑上是截然不同的,具有不同的作用:
- 第一个子视图包含用户可以使用的 UIControl 对象 与(游戏控制)交互。
- 第二个子视图只显示游戏进度。
问题是我需要有多个 Game Controls 实现(比如说两个,可以在图形上完全不同),并让用户选择他喜欢的一个。
我的问题是:将 CustomUIViewController 的代码与两个游戏控件实现(包括用于自定义每个控件外观的图形资源)结合起来是否被认为是一种好习惯?或者如果游戏控制视图的外观设置由另一个对象(工厂、委托或类似的东西)处理会更好吗?
您能否提出任何有助于处理此类用例的模式?
提前谢谢你。
【问题讨论】:
-
控制器通常会控制它。您也可以让控制器监控用户选择的变化,然后在游戏控制视图上设置一个标志。该标志指示在显示时使用哪些图形(并且标志更改会导致重新显示/更改图像资源),具体取决于您当前如何分配有关图像名称的知识。
-
@Wain:哪一个被认为是了解图像名称的最佳实践:将其嵌入到 CustomUIViewController 中,或者将其放入专门的 Game Control 视图中?
-
我会选择知道图像名称的控制器。我不会说两者都是一个艰难的最佳实践。只要结构合理且一致,视图就可以指定其默认图像并为用户(控制器)提供更改它们的选项。如果视图呈现几种显示样式,那么它可以管理所有这些样式。想想
UITableView以及它提供了什么......
标签: ios uiview uiviewcontroller factory