大多数编程环境都有两种数据:结构型别(record types)允许你将数据组织成有意义的形式;基本型别(primitive
types)则是构成结构型别的积木块。结构总是会带来一定的额外开销。它们有点像数据库中的表格,或是那些得不偿失(只为做一两件事而创建,却付出太大
额外开销)的东西。
对象技术的新手通常不原意在小任务上运用小对象-像是结合数值和币别的money class、含一个起始值和一个结束值的range class、电话号码或邮政编码(zip)等等的特殊Strings。你可以运用Replace Data Value with Object(175)将原本单独存在的数据值替换为对象,从而走出传统的洞窟,进入炙手可热的对象世界。如果欲替换之数据值是type code(型别码),而它并不影响行为,你可以运用Replace Type Code with Class(218)将它换掉。如果你有相依于此type code的条件式,可运用Replace Type Code with Subclass(227)或Replace Type Code with State/Strategy(227)加以处理。
如果你有一组应该总是被放在一起的值域(fields),可运用Extract Class(149)。如果你在参数列中看到基本型数据,不妨试试Introduce Parameter Object(295)。如果你发现自己正从array中挑选数据,可运用Replace Array with Object(186)。