类簇---Cocoa 基础指南
来源:互联网 发布:直播美颜软件下载 编辑:程序博客网 时间:2024/06/05 11:53
类簇
预备知识
(无)
相关文章
(无)
类簇是一种架构,它将数个私有具体子类聚集到一个公共抽象超类。通过这种方式对类进行分组,我们就可以向用户(只能看到公共可见的架构)提供简化的接口。而在幕后,抽象类则会调用最合适的私有子类执行特定任务。例如,Cocoa中有几个常见的类,包括NSArray
、NSString
以及NSDictionary
在内,以类簇方式实现。由于具有多个私有子类,内部的数据存储就存在多种表现方式。对于任意具体实例,抽象类会根据初始化数据为其选择最有效的类。
类簇和其他类相似,您同样可以为它创建实例并与之交互。但在创建公共类实例的时候,公共类会根据调用的方法返回适当的子类对象。(您无需也无法选择实例的确切类型)
以Foundation 框架中的 NSString
类为例,如下代码将创建三个不同的字符串对象:
每个字符串可能分属不同私有子类(实际上,在Mac OS X v10.5系统中,这三个字串的确分属不同私有子类)。虽然每个对象都属于NString
私有子类,但将其当作NSString
类的实例可以带来很大方便,因为这样一来,这些对象就可以使用NSString
声明的实例方法。
使用类簇优点
使用类簇的主要优点是效率。一方面,我们可以根据实例创建或使用的方式对其管理的内部数据进行裁减;另一方面,我们编写的代码可独立于底层实现,即使底层实现发生变化,我们的代码照样工作。
使用类簇的代价
使用类簇架构需要在简易性和可扩展性之间作出权衡。使用少量的公共类替代多个私有类可以让学习和使用框架类变得更加容易,但是想要在类簇中创建子类就会稍微困难一些。
您在类簇中创建的子类必须符合下述条件:
必须是类簇抽象超类的子类。
必须声明自己数据存储。
必须重载超类的原始方法
如果类簇几乎不需要创建子类—框架的类簇就是如此—则类簇架构就具有明显优势。您也许可以使用组合这种模式来避免子类化。通过将某个私有类簇嵌入到您自己设计的对象,您就可以创建一个组合对象,该对象只负责截取希望进行特殊处理的消息,而基本功能则依赖类簇对象实现。通过这种方式,您可以降低需要编写代码量,并可利用Foundation框架提供的已测试代码。
- 类簇---Cocoa 基础指南
- Cocoa基本原理指南之七 - 类簇
- Cocoa基本原理指南 中文版
- cocoa编码指南(翻译)
- Cocoa编程指南
- Cocoa基本原理指南之一 - Cocoa框架
- Cocoa基本原理指南之二 - Cocoa对象
- Cocoa基本原理指南之一 - Cocoa框架
- 文档学习:Cocoa 基本原理指南
- 翻译 cocoa编码指南介绍
- Cocoa 图形开发基础
- cocoa foundation框架基础
- cocoa foundation框架基础
- Cocoa基本原理指南之四 - Cocoa对象的生命周期
- Cocoa基本原理指南之九 - 为Cocoa添加行为
- Cocoa基本原理指南之十 - 使用Cocoa框架
- Cocoa基本原理指南之十一 - Cocoa设计模式
- iOS: Cocoa编码指南目录(Coding Guidelines for Cocoa)
- UITableView使用大全-表视图合集-持续更新
- 将MySQL-mmm Master从REPLICATION_FAIL状态恢复
- 如何修改mtk6573的设备号
- Visual Stdio 常用快捷键
- 一个调试到我头晕,结果却让我哭笑不得的问题。
- 类簇---Cocoa 基础指南
- Js仿金字塔式的乘法口决表
- Amazon推出电子书图书馆
- (7)值类型
- powerdesigner12报constraint name maximum length is limited错误解决方法
- kohana中的路由规则
- java序列化(Serializable)的作用和反序列化
- ubuntu9下shell命令中的function的用法
- Vista UAC研究之一——UAC 相关的基本技术