码迷,mamicode.com
首页 > Web开发 > 详细

MVC与MVVM设计模式理解

时间:2017-08-20 21:21:34      阅读:193      评论:0      收藏:0      [点我收藏+]

标签:cat   设计   struts   分享   service   技术   根据   响应   事件   

                                            技术分享

MVC设计模式(View和Model之间不能直接通信)

MVC是一种架构模式,M表示Model,V表示视图View,C表示控制器Controller:

  • Model负责存储、定义、操作数据(Struts中Service和Form);
  • View用来展示给用户,并且和用户进行交互;
  • Controller是Model和View的协调者,Controller把Model中的数据拿过来给View使用。Controller可以直接与Model和View进行通信,而View不能与Controller直接通信。,当有数据更新时,Model也要与Controller进行通信,这个时候就要用Notification和KVO,这个方式就像发广播一样,Model发信号,Controller设置接收监听信号,当有数据更新是就发信号给Controller,Model和View不能直接通信,这样违背MVC设计原则。View与Controller通信需要利用代理协议的方式,Controller可以直接根据Model决定View的展示。View如果接受响应事件则通过delegate,target-action,block等方式告诉Controller的状态变化。Controller进行业务的处理,然后再控制View的展示。
  • 那这样Model和View就是相互独立的。View只负责页面的展示,Model只是数据的存储,那么也就达到了解耦和重用的目的。 

MVC与MVVM设计模式理解

标签:cat   设计   struts   分享   service   技术   根据   响应   事件   

原文地址:http://www.cnblogs.com/callyblog/p/7401173.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!