IOS MVC模式初探

MVC设计模式

在进行IOS程序开发的时候,若对MVC设计模式不了解的话,是很难做出良好性能的程序.现将作者本人对于MVC设计模式的一些

粗浅看法记载余下,希望能对读者有所帮助.

MVC设计模式

在MVC设计模式中,对象被分为三组,分别扮演着模型,视图,控制器.而我们的任务则是确定对象或类应该属于这三组中的哪一组.

(1)模型:

在模型对象中封装数据和基本行为(操作数据的逻辑).

模型对象可以复用,因为它表示的知识适用与特定的问题领域.

(只要加载的是包含有应用程序永久信息的数据,就应该将其放入模型对象.理想状况下,模型和视图不应该有任何直接的关联).

(2)视图:

视图对象可以响应用户操作,并懂得如何将自己展现在屏幕上.视图对象通常从应用程序的模型对象获取数据用以展示.

(3)控制器:

建立一个沟通渠道,联系起模型和视图,使视图得以知晓模型的变更而给予响应.

作为复合设计模式的MVC

MVC并不是最基本的设计模式,它包含了很多基本的设计模式

Cocoa的MVC用到的模式有:组合(Composite),命令(Command),中介者(Mediator),策略(Strategy)和观察者(Observer).

在MVC设计模式中,对象被分为三组,分别扮演着模型,视图,控制器.而我们的任务则是确定对象或类应该属于这三组中的哪一组.

模型:

在模型对象中封装数据和基本行为(操作数据的逻辑).

模型对象可以复用,因为它表示的知识适用与特定的问题领域.

(只要加载的是包含有应用程序永久信息的数据,就应该将其放入模型对象.理想状况下,模型和视图不应该有任何直接的关联).

视图:

视图对象可以响应用户操作,并懂得如何将自己展现在屏幕上.视图对象通常从应用程序的模型对象获取数据用以展示.

控制器:

建立一个沟通渠道,联系起模型和视图,使视图得以知晓模型的变更而给予响应.

作为复合设计模式的MVC

MVC并不是最基本的设计模式,它包含了很多基本的设计模式

Cocoa的MVC用到的模式有:组合(Composite),命令(Command),中介者(Mediator),策略(Strategy)和观察者(Observer).

(1) 用户在画布视图上用手指触摸或拖动,产生一个触摸事件.视图就会将事件传达给视图控制器.

(2) 控制对象接收到触摸事件及其相关信息,然后应用策略来变更模型的状态,必要时请求视图对象根据胡此事件更新其行为或外观.

(3) 每当变更发生并已反映到模型对象,模型对象就会通知所有已注册的观察者对象,如控制器.

(4) 控制器就像一个协调人,它将变更了得数据从模型传递给视图,以便视图可以相应地更新其外观.

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-08-01 13:47:12

IOS MVC模式初探的相关文章

【IOS 开发】IOS 开发 简介 (IOS项目文件 | MVC 模式 | 事件响应机制 | Storyboard 控制界面 | 代码控制界面 | Retina 屏幕图片适配)

一. IOS 项目简介 1. IOS 文件简介 创建一个 HelloWorld 项目, 在这个 IOS 项目中有四个目录 : 如下图; -- HelloWorldTests 目录 : 单元测试相关的类和资源; (1) HelloWorld 目录 HelloWorld 目录介绍 : -- 命名规则 : 该目录名称与 IOS 项目名称相同, 是主目录; -- 存放内容 : IOS 项目的 源码文件, 界面设计文件, 资源文件都存放在该目录下; -- 源文件 : Objective C 的 .m 和

iOS里面MVC模式详解

MVC是IOS里面也是很多程序设计里面的一种设计模式,M是model,V是view,C是controller.MVC模式在ios开发里面可谓是用得淋漓尽致. 以下是对斯坦福大学ios开发里面MVC模式的一段话的翻译 主要的宗旨是把所有的对象分为3个阵营,model阵营,view阵营,或者是controller阵营 model(APP的目的) 举个例子,你要做一个打飞机的游戏,那么这个就是太空中这辆飞船的位置,什么机型,每个飞船有多少机枪,护甲有多少等等.这就是model所做的事,而飞机在屏幕上的

iOS:使用MVC模式帮ViewController瘦身

如何给UIViewController瘦身 随着程序逻辑复杂度的提高,你是否也发现了App中一些ViewController的代码行数急剧增多,达到了2,3千行,甚至更多.这时如果想再添加一点功能或者修改现有逻辑变得让人无比头疼.如果你遇到了这类问题,那是时候停下来了,思考一下如何更好地组织代码,给VC瘦身.本文将会阐述如何结合MVC的思想帮你的VC瘦身同时提高复用和可扩展性. 一.开发中常见的现象和缺点 iOS中最常见的一种设计模式就是MVC,但在实际开发过程中,我们因为这样.那样的原因让单纯

IOS设计模式之一(MVC模式,单例模式)

本文原文请见:http://www.raywenderlich.com/46988/ios-design-patterns. 由 @krq_tiger(http://weibo.com/xmuzyq)翻译,如果你发现有什么翻译错误,请与我联系谢谢. iOS 设计模式-你可能已经听说过这个词,但是你真正理解它意味着什么吗?虽然大多数的开发者可能都会认为设计模式是非常重要的,然而关于设计模式这一主题的文章却不多,并且有时候我们开发者在写代码的时候也不会太关注它. 在软件设计领域,设计模式是对通用问题

iOS开发>学无止境 - 使用MVC模式帮ViewController瘦身

随着程序逻辑复杂度的提高,你是否也发现了App中一些ViewController的代码行数急剧增多,达到了2,3千行,甚至更多.这时如果想再添加一点功能或者修改现有逻辑变得让人无比头疼.如果你遇到了这类问题,那是时候停下来了,思考一下如何更好地组织代码,给VC瘦身.本文将会阐述如何结合MVC的思想帮你的VC瘦身同时提高复用和可扩展性. 一.开发中常见的现象和缺点 iOS中最常见的一种设计模式就是MVC,但在实际开发过程中,我们因为这样.那样的原因让单纯的ViewController变成了集Mod

IOS设计模式之三:MVC模式

IOS设计模式之三:MVC模式 提到ios中的mvc不得不提2011秋季斯坦福课程的老头,他的iphone开发公开课是所有描述ios中mvc模式最为准确并且最为浅显易懂的. 模型-视图-控制器 这个模式其实应该叫做MCV,用控制器把model与view隔开才对,也就是model与view互相不知道对方的存在,没有任何瓜葛,他们就像一个团队里吵了架的同事,如果有项目需要他俩来参与,那么最好有第三者来管理他俩之间的沟通与协调.这个第三者就是控制器. 既然管理,那么姑且就把这个控制器提做项目经理吧,这

实际案例讲解iOS设计模式——MVC模式

MVC模式是iOS编程中提到的最多次的设计模式,也是使用最频繁的设计模式之一.网络上有很多的MVC模式的分析文章,但都是从原理上来解释,很少能找到配套的案例来说明到底在实际的项目中要如何的使用这种模式.小编在经过详细的研究.对比和实验了之后,总结了一下这个模式的一些简单使用方法,希望能起一个抛砖引玉的作用,使得对MVC默认的同学能依葫芦画瓢的了解MVC模式的使用方法,并以此类推出更多.更好的方法出来. 这篇文章先从老生常谈的MVC设计模式的原理说起,然后配上一个简单的案例,以演示如何将一个常规的

iOS的MVC模式

http://blog.devtang.com/blog/2012/02/05/mvc-in-ios-develop/ iOS的MVC模式,布布扣,bubuko.com

[iOS基础控件 - 4.4] 进一步封装"APP列表”,初见MVC模式

A.从ViewController分离View 之前的代码中,View的数据加载逻辑放在了总的ViewController中,增加了耦合性,应该对控制器ViewController隐藏数据加载到View的细节. 封装View的创建逻辑 封装View的数据加载逻辑到自定义的UIView中 B.思路 使用xib封装自定义view的步骤: 1.新建一个继承UIView的自定义view,这里的名字是"AppView",用来封装独立控件组 每个AppView封装了如下图的控件组 2.新建一个xi