0

我不断发现总体上相互矛盾的信息,没有任何权威性,也没有足够具体的信息来解释我和我兄弟正在争论的确切问题。那么有人可以通过一些权威类型的文档来解决这个问题吗?

简而言之:MVC 中的 3 个组件中的哪一个负责确定要在屏幕上显示的对象的大小和位置?

4

1 回答 1

1

MVC 的关键是试图实现类之间的松耦合。这是通过应用几种模式来完成的(MVC 是一种复合模式,这意味着它是几种其他模式的组合)。

在这里,您可以找到“视图和控制器之间的策略”、“视图上的合成”和“模型和视图/控制器之间的观察者”。

关于如何处理这一切有很多争论,但一般术语是这样的:

视图上发生了一些事情->视图通知控制器

                       -> Controller asks Model to change data
                       -> Controller asks View to update display
                       -> Model informs View state has changed
                       -> View pulls data from model

^ 那是使用被认为“更正确”的观察者模式,但它确实是一个指导方针而不是规则。记住这一点,视图负责视图对象的位置(使用复合模式),控制器只是一个插件,因此动作知道如何发送到模型。这允许在视图和控制器之间轻松切换。(这会产生双向关联性,但这是另一回事)

于 2013-11-09T23:06:43.217 回答