- 浏览: 906301 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (466)
- iPhone, iOS , Objective-c (155)
- 数据库 (20)
- 设计模式 (5)
- 第三方包管理,cocoapod (2)
- 版本管理, SVN, Subversion, Git (1)
- Google, Android, Java (14)
- Wordpress (1)
- 职业素养 (3)
- 版本管理,git (3)
- 前端小技巧 (2)
- flash (1)
- javascript (5)
- Ruby (0)
- 编程语言 (1)
- 网络常识 (1)
- 找到生活好感觉 (5)
- 产品经理 (1)
- markdown (1)
- 云服务器 (1)
- iPhone (116)
- iOS (116)
- Objective-c (116)
- 学习技巧 (2)
- Google (5)
- Android (6)
- Java (21)
- python (1)
- sqlite (3)
- node.js (2)
- mongodb (2)
- 学习技巧,阅读 (2)
- 软件测试 (3)
- 架构设计 (2)
- 设计 (1)
- Spring framework (3)
- junit (1)
- Linux (2)
- 软件 (1)
- Struts2 (1)
- 版本管理 (3)
- SVN (3)
- Subversion (3)
- Git (3)
- mysql (5)
- quartz (1)
- 无关技术 (1)
- 前端 (1)
- Redis (1)
- 产品管理 (0)
- 计算机常识 (1)
- 计算机科学 (0)
- swift (1)
- 服务器 (2)
- 搜索 (1)
- Scala (1)
- J2EE (1)
- maven (1)
- 前端css (1)
- 英语 (1)
- 消息队列 (1)
- kafka (0)
- apache kafka (4)
- netbeans (1)
- IDE (2)
- 歌词 (1)
- 过滤器实现 (1)
- linux vim vi (1)
- jmeter (1)
- springcloud (1)
最新评论
-
hujingnemo:
不知道为什么打不开
CHM如何改编字体大小 -
weiboyuan:
求答案 weiboyuanios@163.com
iOS软件工程师面试题(高级) -
xueji5368:
这个现在已经广泛使用了嘛!
RoboGuice入门 -
Yao__Shun__Yu:
...
CHM如何改编字体大小 -
353144886:
非常之详细 美女求认识
sqlite数据类型 datetime处理
模型类
一个好的模型类应该使用独立于表现层的方式封装数据,模型类应该只引用其他模型类,不应该收用视图或控制器。模型类可能有一个委托恰好是一个控制器,但应该使用协议实现,这样它便不必引用特定的控制器。
在模型类中请尽量使用不可变的对象,不可变对象可以通过调用retain实现copy。因为对象无法改变,你不必创建一个真正的副本。
模型类是系统中最容易测试和重用的类,设计好它们是提高代码整体水平的最好方法。
视图类
视图类负责与用户交互,它们提供信息接受用户事件。可有一个恰好是控制器的委托。
硬件优化的轻量级视图类一般叫“layer”。
视图负责从用户接受事件,但不处理它们。当用户触碰视图,该视图可能提醒一个委托说明它已被触碰,但它不能执行逻辑或者修改其他视图,这些事务由控制器处理。
控制器类
模型和视图由控制器联系,控制器实现大部分应用程序逻辑。控制器往往是程序中最不可能重用的部分,因此关键的一点就是不允许视图和模型类直接引用它们。控制器也应该避免直接引用其他控制器。所谓“直接引用”,指的是引用特定类,引用通过控制器实现的协议是可行的。
一个常见的错误是允许许多对象直接引用应用程序委托。
//不要这样做,是错的
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
Something *something = [appDelegate something];
访问全局对象更好的方式是单例模式。
模型-视图-控制器模式对于提高代码可重用性非常有效。正确的应用MVC有助于程序与Cocoa框架的融合并简化开发过程。
一个好的模型类应该使用独立于表现层的方式封装数据,模型类应该只引用其他模型类,不应该收用视图或控制器。模型类可能有一个委托恰好是一个控制器,但应该使用协议实现,这样它便不必引用特定的控制器。
在模型类中请尽量使用不可变的对象,不可变对象可以通过调用retain实现copy。因为对象无法改变,你不必创建一个真正的副本。
模型类是系统中最容易测试和重用的类,设计好它们是提高代码整体水平的最好方法。
视图类
视图类负责与用户交互,它们提供信息接受用户事件。可有一个恰好是控制器的委托。
硬件优化的轻量级视图类一般叫“layer”。
视图负责从用户接受事件,但不处理它们。当用户触碰视图,该视图可能提醒一个委托说明它已被触碰,但它不能执行逻辑或者修改其他视图,这些事务由控制器处理。
控制器类
模型和视图由控制器联系,控制器实现大部分应用程序逻辑。控制器往往是程序中最不可能重用的部分,因此关键的一点就是不允许视图和模型类直接引用它们。控制器也应该避免直接引用其他控制器。所谓“直接引用”,指的是引用特定类,引用通过控制器实现的协议是可行的。
一个常见的错误是允许许多对象直接引用应用程序委托。
//不要这样做,是错的
AppDelegate *appDelegate = (AppDelegate *)[[UIApplication sharedApplication] delegate];
Something *something = [appDelegate something];
访问全局对象更好的方式是单例模式。
模型-视图-控制器模式对于提高代码可重用性非常有效。正确的应用MVC有助于程序与Cocoa框架的融合并简化开发过程。
发表评论
-
UIImage变为NSData并进行压缩
2014-05-19 20:23 1937//sdk中提供了方法可以直接调用 UIImage *im ... -
update cocapods
2014-05-17 22:27 809早上更新cocoapod依赖库,发现更新到32.1版本,早先的 ... -
iOS发送短信息代码实例
2014-05-16 18:15 2689#import <MessageUI/Message ... -
DISPATCH TIMER
2014-05-14 16:12 732/* __block void (^callback) ... -
UITextField左边显示图片
2014-05-13 18:08 1175The overlay view displayed on t ... -
iOS调用系统打电话,发短信功能
2014-05-11 15:48 2088先介绍一种最简单的方法: 调用打电话功能 [[UIAppl ... -
iOS面试题
2014-05-09 16:10 10821.写一下UIButton与UITableView的层级结构 ... -
socket二进制报文
2014-05-09 15:18 1308里面有帧头 字符串UTF-8 中间用0隔开 又一个字符串 ... -
将网站添加到桌面的方法
2014-05-08 14:25 1664<link href="http://www. ... -
iPhone通讯录联系人操作大全
2014-05-07 10:29 14641.需要引入AddressBook.framework框架 2 ... -
sqlite获取最新插入的rowid
2014-05-07 09:59 1531除了 last_insert_rowid select max ... -
号码归属地查询,拨打电话
2014-05-06 15:07 854在程序内调用拨打电话的方法,[[UIApplication s ... -
iOS时间合并
2014-04-28 17:55 1102合并同一时间的课程,同一时间可能有多个课程,比如13:30-1 ... -
vCard通讯录格式说明
2014-04-28 16:47 2564原帖:http://freesoftman.iteye.com ... -
UISearchBar背景色全套解决方案
2014-04-25 09:36 7448os系统升级到7.1后,原来在7.0下显示正常的UISearc ... -
升级XCode5.1.1遇到的奇葩问题NSString,NSObjectRuntime.h报错,Foundation找不到
2014-04-24 11:19 903升级XCode5.1.1遇到的奇葩问题NSString,NSO ... -
将NSString转为NSArray
2014-04-22 16:52 6274// Your JSON data: NSString *c ... -
另外一种NSData转为NSString的方法
2014-04-22 15:40 1216If the data is not null-termina ... -
HTTP,Socket,WebSocket异同
2014-04-18 16:54 1837参考文章: http://abbshr.g ... -
push隐藏UINavigtaionBar和UITabbar
2014-04-17 15:20 1098[self.navigationController setN ...
相关推荐
【网上购买图书案例MVC模式】是一个典型的软件开发实践,主要使用了Model-View-Controller(MVC)架构模式来构建一个在线图书销售系统。在这样的系统中,MVC模式帮助我们有效地分离业务逻辑、数据处理和用户界面,...
本项目是一个基于JavaEE技术栈的MVC模式实现的网上书城购物车系统。这个系统的设计目的是为了帮助初学者深入理解MVC(Model-View-Controller)设计模式,以及如何在实际开发中应用这一模式来构建一个功能完善的电子...
MVC 模式详解 MVC 模式是软件设计中一种非常重要的模式,它将软件或组件分为三个部分:模型(Model)、视图(View)和控制器(Controller)。这种模式已经 menjadi 必备的开发模式之一,广泛应用于 Web 开发、移动...
在这个名为“运用MVC模式及观察者模式的java小程序”的项目中,我们重点探讨了两种经典的设计模式:Model-View-Controller(MVC)模式和Observer(观察者)模式。这两种模式在JavaWeb开发中扮演着至关重要的角色。 ...
**MVC模式与JSP计算器应用** 在Web开发领域,MVC(Model-View-Controller)模式是一种常用的设计模式,它将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。MVC模式的主要目标是...
**基于jspMVC模式的成绩管理系统详解** 在信息技术领域,开发Web应用程序时,Model-View-Controller(MVC)模式是一种广泛采用的设计模式。本项目"基于jspMVC模式的成绩管理系统"是一个采用JavaServer Pages(JSP)...
**经典MVC模式详解** **一、MVC模式概述** MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于Web应用开发中,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。...
### 基于MVC模式的博客(BLOG)系统的设计与实现 #### 一、引言 随着互联网技术的快速发展,博客(BLOG)已成为一种流行的在线信息分享平台。为了提高博客系统的性能、稳定性和易维护性,本研究采用MVC(Model-View-...
**C++中的MVC模式详解** MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于构建用户界面,特别是在Web开发和图形用户界面(GUI)应用中。C++作为一个强大的面向对象编程语言,同样可以利用MVC模式来...
### MVC模式解析与实践 #### 一、MVC模式概览 MVC,即Model-View-Controller(模型-视图-控制器),是一种被广泛应用于软件工程,特别是Web应用程序开发中的设计模式。其核心思想是将应用程序的业务逻辑、用户界面...
总的来说,"基于MVC模式下的登录注册"项目展示了如何在Web开发中利用MVC模式来分离关注点,提高代码的可维护性和可扩展性。通过合理划分模型、视图和控制器的职责,我们可以更有效地组织和管理代码,同时提供更直观...
**MVC模式网上书店系统详解** MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于构建Web应用程序,特别是在Java EE、.NET等框架中。它将应用程序的业务逻辑、用户界面和数据访问层分离,使得各部分...
**MVC模式** MVC(Model-View-Controller)模式是一种广泛应用在Web开发中的软件设计模式,它将应用程序分为三个核心部分:模型(Model)、视图(View)和控制器(Controller)。这种分离使得代码结构清晰,易于...
MVC模式下多层分布式软件系统架构设计是软件工程领域中的一种经典架构方式,尤其适用于复杂系统的构建。MVC即Model-View-Controller(模型-视图-控制器),是一种用于设计用户界面的设计模式,通过将业务逻辑、用户...
### MVC模式概述 MVC(Model-View-Controller)是一种广泛应用于软件工程,特别是Web应用程序开发中的设计模式。它的核心思想在于将应用分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。...
**MVC模式详解** MVC(Model-View-Controller)模式是一种软件设计模式,广泛应用于构建Web应用程序,尤其是在Java开发中。它将应用程序分为三个主要组件:模型(Model)、视图(View)和控制器(Controller),以...
根据提供的信息,“MVC模式图”,我们来详细探讨一下MVC(Model-View-Controller)设计模式的概念、工作原理以及应用场景等内容。 ### MVC设计模式概述 MVC是一种软件架构模式,广泛应用于用户界面的设计与开发之...
"基于MVC模式图书管理系统论文" 本文主要介绍了基于MVC模式的图书管理系统的设计与实现。该系统使用了MVC设计模式和Struts框架,旨在提高图书管理的效率和准确性。 知识点1:MVC模式的优点 MVC模式是一种软件设计...
单入口MVC模式则是这种模式的一个变体,它强制所有请求都通过一个单一的入口点进入,从而更好地控制和管理应用程序流程。 首先,让我们详细了解一下“单入口”概念。在单入口MVC模式下,所有的HTTP请求都会通过一个...