0

我想在这里问的是一个设计问题。

我有一个 CustomUIViewController 来处理控制器视图中的一些子视图。

这两种观点在逻辑上是截然不同的,具有不同的作用:

  • 第一个子视图包含用户可以与之交互的 UIControl 对象(游戏控件)。
  • 第二个子视图仅显示游戏进度。

问题是我需要有多个 Game Controls 实现(比如说两个,可以在图形上完全不同)并让用户选择他喜欢的一个。

我的问题是:将 CustomUIViewController 的代码与两个游戏控件实现(包括用于自定义每个控件外观的图形资产)结合起来是否被认为是一种好习惯?或者如果游戏控制视图的外观设置由另一个对象(工厂、委托或类似的东西)处理会更好吗?

您能否提出任何有助于处理此类用例的模式?

先感谢您。

4

2 回答 2

0

将您尝试使用的 2 个 UIView 子类化,以便您可以拥有 2 个自定义视图而不是添加到您的视图控制器中。

通过这样做,您可以在自定义 UIView 实现上获得触摸事件,这将是一种更简单的方法,然后将所有内容放在同一个类中。

于 2013-10-08T13:12:04.793 回答
0

我建议您为要添加的两个视图创建单独的类CustomUIViewController。然后,您可以在各个类中添加您想要的任何组件和功能。代码很容易理解,如果您希望向特定的子视图添加一些扩展功能,您也会感到轻松。不要把所有东西都放在同一个类中,你最终可能会把事情搞砸。

如果可能,请始终尝试遵循MVC 架构

于 2013-10-08T11:49:29.217 回答