【问题标题】:model view controller question模型视图控制器问题
【发布时间】:2011-01-09 02:46:44
【问题描述】:

我最近一直在开发我的 iphone 游戏,在决定我的各种课程的设计时遇到了一条岔路。到目前为止,我一直遵循 MVC 模式,但以下情况让我感到困惑:

我有 4 个直观显示的按钮。虽然每个按钮都包含一个容器 UIView(我已经对其进行了子类化)和 2 个 UIButtons(也是子类化)作为子视图。当你按下一个按钮时,它会产生翻转效果和其他东西。用户输入使用从我的容器 UIView 到我的控制器的目标操作。这部分还可以,以下是值得商榷的部分:

所以我对容器视图和 UIButtons 进行了子类化,我需要添加更多数据/方法(某处)来做更多事情。将需要序列化的数据和非渲染相关代码放在视图类中似乎破坏了 MVC 设计,但目前,将它放在那里对我来说最有意义。这几乎就像我的子类视图是他们自己的小 MVC,它看起来很整洁。在这种情况下,将视图中的数据/方法分离到我的主控制器似乎没有必要,而且工作量更大。我该怎么做?

谢谢大家。

【问题讨论】:

    标签: iphone cocoa-touch model-view-controller


    【解决方案1】:

    MVC 模式非常有用,因为它允许您重用 MVC 模型的至少 2 个部分(通常是模型和视图),因此通常编写干净代码的最佳方法是避免使用继承,而使用委托(基于协议)和依赖注入(针对服务),这样您就可以为您的系统生成单元测试,并以更好的方式来升级代码的开发

    这里有一些有趣的文章:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-08-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-06-26
      相关资源
      最近更新 更多