[9] Primitive Obseesion(基本类别偏执)
大多数边编程环境都有两种数据:
- 结构类型:允许你将数据组织成有意义的形式;
- 基本类型:构成结构类型的积木块.
对象的一个极大的价值在于:
它们模糊(甚至打破)了横亘于基本数据和体积较大的类之间的界限.
你可以轻松编写出一些与语言内置(基本)类型无异的小型类.
对象技术的新手通常不愿意再小任务上运用小对象---像是结合数值和币种的money类,由一个起始值和一个结束值组成的range类,电话号码或邮政编码等特殊字符串. 你可以运用Replace Data Value With Object(以对象取代数据值) 将原本单独存在的数据值替换为对象,从而走出传统的洞窟, 进入炙手可热的对象世界. 如果想要替换的数据值是类型码,而它并不影响行为,则可以运用Replace Type Code With Class(以类取代类型值)将它换掉. 如果你有与类型相关的条件表达式,可运用Replace Type Code With Subclass 或者 Replace Type Code With State/Strategy(以State或Strategy替换类型值) 加以处理.
如果你有一组应该总是被放在一起的字段, 可运用Extract Class. 如果你在参数列中看到基本行数据, 不妨试试Introduce Parameter Object(引入对象参数). 如果你发现自己正从数组中挑选数据, 可以运用Replace Array With Object(以对象取代数组)