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

黑马程序员-3.MVC框架

时间:2014-09-22 12:26:52      阅读:243      评论:0      收藏:0      [点我收藏+]

标签:软件设计   应用程序   斯坦福   程序员   控制器   

        今天发现了斯坦福的一套视频感觉很首启发,那套视频里讲了iOS7开发的一些思想,MVC从开始到最后,感觉MVC就是为iOS开发而生(好像html也有,没做过不知道),感觉MVC还是很重要的。


1.何为MVC

        MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

视图(View)=在屏幕上你所看到的(由Controller调用)

    MVC好处是它能为应用程序处理很多不同的视图。在视图中其实没有真正的处理发生,不管这些数据是联机存储的还是一个雇员列表,作为视图来讲,它只是作为一种输出数据并允许用户操纵的方式。

模型(Model)=你的程序是什么(而不是你的程序是如何显示的)

    模型表示企业数据和业务规则。在MVC的三个部件中,模型拥有最多的处理任务。例如它可能用像EJBs和ColdFusion Components这样的构件对象来处理数据库,被模型返回的数据是中立的,就是说模型与数据格式无关,这样一个模型能为多个视图提供数据,由于应用于模型的代码只需写一次就可以被多个视图重用,所以减少了代码的重复性。

控制器(Controller)如何使你的模型呈现给用户(程序逻辑)

    控制器接受用户的输入并调用模型和视图去完成用户的需求,所以当单击Web页面中的超链接和发送HTML表单时,控制器本身不输出任何东西和做任何处理。它只是接收请求并决定调用哪个模型构件去处理请求,然后再确定用哪个视图来显示返回的数据。 

借来斯坦福的ppt讲解MVC的实现

bubuko.com,布布扣

首先Controller和Model,Controller和View之间进行通信,Model与View之间不能通信


Controller和View之间会出现两种通信方式:数据源方法以及代理方法,代理方法在下一个blog中会写。按钮等继承了UIControl的那些类则通过action或者outlet(输出口)进行通信。

  1. 数据源方法(data source)

    V不管保存数据,但是数据更新需要C进行显示。

  2. 代理方法(delegate)


  3. action或者outlet

    按钮等继承了UIControl的那些类则通过action或者outlet(输出口)进行通信


Controller和Model之间通过Notification(通知)or KVO进行数据的更新



黑马程序员-3.MVC框架

标签:软件设计   应用程序   斯坦福   程序员   控制器   

原文地址:http://9143994.blog.51cto.com/9133994/1556790

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