黑马程序员-3.MVC框架

今天发现了斯坦福的一套视频感觉很首启发,那套视频里讲了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的实现

首先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进行数据的更新

时间: 2024-10-12 18:25:09

黑马程序员-3.MVC框架的相关文章

黑马程序员_Java集合框架

- - - - - android培训.java培训.期待与您交流! - - - - - - 集合框架:用于存储数据的容器. 特点: 对象封装数据,对象多了也需要存储.集合用于存储对象. 对象的个数确定可以使用数组.如果不确定可以用集合.因为集合是可变长度的. 集合和数组的区别: 数组是固定长度的:集合可变长度的. 数组可以存储基本数据类型,也可以存储引用数据类型:集合只能存储引用数据类型. 数组存储的元素必须是同一个数据类型:集合存储的对象可以是不同数据类型. 数据结构:就是容器中存储数据的方

黑马程序员---Java集合框架

---------------------- Android开发.java培训.期待与您交流! ---------------------- Java集合框架 集合我们都知道是用来储存对象的容器,那之前的数组不也可以储存对象么,为什么要出现集合呢? 面向对象语言对事物的体现都是以对象的形式,所以为了方便对多个对象的操作,就对对象进行存储,然而集合类中提供很多方便操作对象存储的方法,要比数组更容易操作对象,而且集合的长度是可变的,然而数组长度确实固定不变的,这样不利于对对象的间隔储存.  数组和集

黑马程序员__集合框架总结

------Java培训期待与您交流! ------- 前言: 本文是对Java集合框架做了一个概括性的解说,目的是对Java集合框架体系有个总体认识,如果你想学习具体的接口和类的使用方法,请参看Java API文档. 一.概述 数据结构对程序设计有着深远的影响,在面向过程的C语言中,数据库结构用struct来描述,而在面向对象的编程中,数据结构是用类来描述的,并且包含有对该数据结构操作的方法. 在Java语言中,Java语言的设计者对常用的数据结构和算法做了一些规范(接口)和实现(具体实现接口

黑马程序员——JAVA集合框架学习总结

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- www.itheima.com 要学好java的集合框架,必须掌握此图: Java集合框架很全面,从大的来说.它包括两种类型: 1.一种是以collection为根接口的集合. 2.另一种是由map为根接口的<key,value>的“图”. 而collection之下的set接口和list接口又有不同: 1.Set 接口继承 Collection,但不允许重复,使用自己内部的一个排列机制.

黑马程序员——java集合框架之List,Set

集合框架  1.数组与集合的不同    数组长度是固定的,集合长度是可变的    数组中可以存储基本数据类型,集合只存储对象    集合可以存储不同类型的对象        2.java集合类中有两个顶层接口Collection和Map,下面是对Collection的一些总结: 集合中常用方法:     add方法的参数类型为Object,以便于接受任意类型的对象     集合中存储的都是对象的引用(或者说地址) 迭代器是集合取出元素的方式,此方法是定义在集合的内部,这样取出方式就可以直接访问集

黑马程序员------Java集合框架学习总结

Java培训.Android培训.iOS培训..Net培训.期待您的交流 一.综述 所有集合类都位于java.util包下.集合中只能保存对象(保存对象的引用变量).(数组既可以保存基本类型的数据也可以保存对象). Java的集合类主要由两个接口派生而出:Collection和Map,Collection和Map是Java集合框架的根接口,这两个接口又包含了一些接口或实现类. 二.Collection接口 Collction: List:有序(元素存入集合的顺序和取出的顺序一致),元素都有索引.

【黑马程序员】————Foundation框架01常用结构体

NSRange(location length) NSPoint\CGPoint NSSize\CGSize NSRect\CGRect (CGPint CGSize) 1.NSRange(location length) 1 void range() 2 { 3 // @"i love oc" // love的范围 4 5 //NSRange r1 = {2, 4}; // 不用 6 //NSRange r2 = {.location = 2, .length = 4};// 不用

黑马程序员_集合框架(三)

前两篇文章中介绍了Collection框架,今天来介绍一下Map集合,并用综合事例来演示. Map<K,V> Map<K,V>:Map存储的是键值对形式的元素,它的每一个元素,都是由键和值两个元素组成,键是不能有重复的,值是可以重复的,每一个键唯一指向一个值. Map体系 Map ——|hashtable: 底层是哈希表数据结构,不可以存入null键null值.该集合是线程同步的.效率低,已被HashMap替代 ——|HashMap: 底层是哈希表数据结构,允许使用 null 值和

黑马程序员_集合框架之(一)

-----Java培训.Android培训.iOS培训..Net培训.期待与您交流! 在介绍集合之前先说一下数组,正如我们所知,数组是某一类型数据的集合,强调的是数据,而且必须单一:集合框架的不同之处在于存储的数据类型没有任何限制,既可以存储基本数据类型(会自动提升为相应的包装类)也可以存储引用数据类型比如对象,集合框架更强大之处在于可以同时存储任意类型数据,这是数据无法做到的,另一方面,数组长度是固定的,但是实际生活中需求的容器大都是不确定的,这就需要一个可变长度的容器,而集合框架刚好弥补了数