【问题标题】:iPhone GLPaint sample has architecture design flaw?iPhone GLPaint 样本存在架构设计缺陷?
【发布时间】:2009-11-02 15:34:50
【问题描述】:

我是 iphone 开发新手,但熟悉 MVC 模式。谁能解释为什么 GLPaint 示例类 PaintingView.m(视图)实际上从磁盘获取所需的数据来编写“摇我!”文本?数据是模型,应该由控制器从磁盘读取并传递给视图以渲染 IMO。对吗?

此外,控制器正在向视图添加 UI 控件(调色板分段控件) - 视图不应该绘制这些东西吗?

这是苹果提供的一个坏例子吗?

谢谢。

【问题讨论】:

    标签: iphone model-view-controller architecture


    【解决方案1】:

    这是一个如何使用 OpenGL 的好例子,但它是一个糟糕的 MVC 例子。我想,由于 MVC 不是本示例的重点,因此在编写它时并没有真正考虑到它。

    归根结底,如果示例有效并向您展示了如何使用它作为示例的东西,那么它就完成了它的工作。

    我确信 Apple 有其他的 MVC 示例做得很好。

    【讨论】:

      【解决方案2】:

      谢谢,我认为这有点像 hack,但是:

      http://developer.apple.com/iphone/library/documentation/Cocoa/Conceptual/CocoaFundamentals/CocoaDesignPatterns/CocoaDesignPatterns.html#//apple_ref/doc/uid/TP40002974-CH6-SW8

      组合角色 可以合并一个对象所扮演的 MVC 角色,例如,使一个对象同时满足控制器和视图角色——在这种情况下,它将被称为视图控制器。同样,您也可以拥有模型控制器对象。对于某些应用程序,像这样组合角色是一种可接受的设计。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-10-20
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-06-30
        • 2011-06-17
        • 1970-01-01
        相关资源
        最近更新 更多