我想在这里问一个设计问题。
我有一个CustomUIViewController,用于处理控制器视图中的一些子视图。
这两个视图在逻辑上是截然不同的,具有不同的角色:
问题是我需要有多个游戏控制实现(让我们说两个,图形完全不同)并让用户选择他喜欢的那个。
我的问题是:将CustomUIViewController的代码与游戏控件实现相结合(包括用于自定义每个的外观的图形资源)是否被认为是一种好习惯?或者,如果游戏控制视图的外观设置由另一个对象(工厂,代表或类似的东西)处理,会不会更好?
您能否建议任何有助于处理此类用例的模式?
提前谢谢。
答案 0 :(得分:0)
我建议您为要在CustomUIViewController
添加的两个视图创建单独的类。
然后,您可以在各个类中添加所需的任何组件和功能。
理解代码很容易,如果您希望在特定子视图中添加一些扩展功能,您也会感到轻松。
不要把所有东西都放在同一个班级里,你最终可能搞砸了。
如果可能,请始终尝试关注MVC Architecure
答案 1 :(得分:0)
将您尝试使用的2 UIView子类化,这样您就可以拥有2个自定义视图,而不是添加到您的viewcontroller。
通过这样做,您可以在自定义UIView实现上获取触摸事件,这将是一种更简单的方法,然后将所有内容放在同一个类中。