摘要: Modol View Controller(MVC)是一种最早的也是最成功的可重用的设计模式,70年代的时候首次在smaltalk编写的程序中成功使用。基于MVC设计模式,Cocoa整体架构可以划分为三个子系统:Model, View, Controller,我们可以相应的理解为:数据模型,视图和控制器。Modol View和Controller的角色要想理解MVC设计模式中每个子系统的角色,我们就需要理解一个应用程序的功能和行为。我们知道一个应用程序通常需要存储数据信息,检索数据信息以及把这些数据信息呈现给用户,同时还要允许用户对数据进行编辑(增删查改等操作)。那么MVC的角色就分别为:Mo 阅读全文
posted @ 2013-04-12 10:32 少年0寂寞 阅读(165) 评论(0) 推荐(0)
摘要: 单例模式用于当一个类只能有一个实例的时候,通常情况下这个“单例”代表的是某一个物理设备比如打印机,或是某种不可以有多个实例同时存在的虚拟资源或是系统属性比如一个程序的某个引擎或是数据。用单例模式加以控制是非常有必要的。单例模式需要达到的目的1.封装一个共享的资源2.提供一个固定的实例创建方法3.提供一个标准的实例访问接口单例模式的创建本文以创建一个MySingletonClass的单例模式为例。首先,我们需要定义一个类MySingletonClass.[cpp]view plaincopy@interfaceMySingletonClass:NSObject{}并且为其添加一个类方法(注意,这 阅读全文
posted @ 2013-04-12 10:27 少年0寂寞 阅读(144) 评论(0) 推荐(0)
摘要: 什么是CategoryCategory模式用于向已经存在的类添加方法从而达到扩展已有类的目的,在很多情形下Category也是比创建子类更优的选择。新添加的方法同样也会被被扩展的类的所有子类自动继承。当知道已有类中某个方法有BUG,但是这个类是以库的形式存在的,我们无法直接修改源代码的时候,Category也可以用于替代这个已有类中某个方法的实体,从而达到修复BUG的目的。然而却没有什么便捷的途径可以去调用已有类中原有的那个被替换掉方法实体了。需要注意的是,当准备有Category来替换某一个方法的时候,一定要保证实现原来方法的所有功能,否则这种替代就是没有意义而且会引起新的BUG。和子类不同 阅读全文
posted @ 2013-04-12 10:25 少年0寂寞 阅读(130) 评论(0) 推荐(0)