MVC初见二

来源:互联网 发布:linux sleep函数头文件 编辑:程序博客网 时间:2024/06/05 22:48

M、V、C之间有很性与独立性。

Controller与View的关联性

彼此都是双向关系,但Controller的主动性较高。

当Controller为“主动”角色时:Controller可决定要显示哪一个View。

当View为“主动”角色时:View可决定数据要送回哪到哪 一个Controller的Action。当View需要数据时,可决定数据应该从哪一个Controller的Action取得。

View与Model的关联性强的关联

在View与Model的关联性上,View是站在"比较主动"的一方,而Model则是以一个“数据服务提供商”的角度出发的。

View的数据基本上是从Controller传过来的,而传过来的数据型别却是Model所定义的。因此,View与Model之间大多是“彼此参考”的关系,也就是View会参考Model中的型别定义。


Model与Controller的关联性

在Controller与Model的关联性中,Controller永远居于"主动"的角色。Controller负责调用或使用Model所定义的各种类型,而Model很单纯的仅仅提供“数据服务”或者“难服务”给Controller使用。


Controller与View之间的独立性

直接说就是当View尚未被建构时,Controller其实可以先撰写程序。

相对来说,View与Controller的关系,大多是由Controller主动去挑选适合的View来显示,所以View本身对于“输出”的任务来说,是处于一个非常独立的状态。因此,当Controller尚未被建构时,View也可以先撰写程序。


View与Model之间的独立性

View大多参考自Model里所定义的型别,但这并非是绝对必要的。View不需要Model也能够运作,只是这样View就会缺乏Model所提供的数据型别定义。这会造成View在开发时没有那么方便。


Model与Controller之间的独立性

Model是贯穿全局的重要角色,有趣的是,在没有Model的情况下,Controller与View一样可以运行得很好。例如,我们在显示“静态页面”时,没有任何动态数据的情况下,Controller不需要从Model取得数据,彼此之间当然就没什么关系了。

0 0
原创粉丝点击