【发布时间】:2010-09-14 15:31:46
【问题描述】:
我有一个关于 MVC 设计的问题,基于斯坦福 iPhone 讲座。
我有 3 节课;
多边形 - 它包含边数等信息。这是我的模型课
控制器 - 它响应视图中的按钮按下等操作,然后调用模型中的方法来增加和减少边数等。这是我的控制器(惊喜!)
视图 - 对于这个问题,视图将是一个代表单个视图的类,它将多边形绘制到屏幕上。
我的问题是 View 类获取与 Polygon 模型类有关的信息的最佳方式是什么?虽然这对于这个例子来说是微不足道的,但我希望答案能在构建更复杂的应用程序时对我有所帮助。我有的选择;
1) 将 Polygon 类的实例传递给视图,以便视图具有指向它的指针。然后我可以随时调用刷新,视图就会知道该怎么做。这是我通常会做的,但被视为打破 MVC 方法,因为视图和模型似乎绕过了控制器,这让我认为这可能不是最好的方法。
2) 在视图中有一个 redraw(...) 方法,它将接收到的任何新信息作为其参数。这看起来很干净,但我认为不会很好地扩展。
任何建议都会很棒。正如我通常所说的那样,我会做选项一,但希望有人告诉我一些事情来改善我对此的看法......
谢谢!
【问题讨论】: