您的位置:首页 > 移动开发 > Objective-C

Replace Array with Object (以对象取代数组)

2013-05-20 00:00 323 查看

Summary:

有一个数组,其中的元素各自代表不同的东西。以对象替换数组。对于数组中的每个元素,以一个字段来表示。

Motivation:

数组是一种常见的用以组织数据的结构。不过,它们应该只用于“以某种顺序容纳一组相似对象”。有时候一个数组容纳了多种不同的对象,这会给客户带来麻烦,因为他们很难记住像“数组的第一个元素是人名”这样的约定。对象就不痛了,你可以运用字段名称和函数名称来传达这样的信息,因此你无需死记它,也无需依赖注释。而且如果使用对象,还可以将信息封装起来,并使用Move Method为它加上相关行为。

Mechanics:

1.新建一个类表示数组所拥有的信息,并在其中以一个public字段保存原先的数组。

2.修改数组的所有用户,让它们改用新类的实例。

3.编译,测试。

4.逐一为数组元素添加取值/设值函数。根据元素的用途,为这些访问函数命名。修改客户端代码,让它们通过访问函数取用数组内的元素。每次修改后,编译并测试。

5.当所有对数组的直接访问都转而调用访问函数后,将新类中保存该数组的字段声明为private。

6.编译

7.对于数组内的每一个元素,在新类重创建一个类型相当的字段。修改该元素的访问函数,令它改用上述的新建字段。

8.每修改一个元素,编译并测试。

9.数组的所有元素都有了相应字段之后,删除该数组。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: