如果目标函数使用了源类中的特性,你得决定如何从目标函数引用源对象。如果目标类中没有相应的引用机制,就把源对象的引用当作参数,传给新建立的目标函数。...当我们需要返回的一个应该同步改变且拷贝代价较大的对象时使用.
8.4 将引用对象改为值对象
8.3的反面, 对于那些很细小且不太应该同步改变的数据项返回内部不可变的一份拷贝, 在分布式系统中这种不可变对象比较常见因为不用太考虑同步问题.../取值函数来控制目标类, 改为拷贝一个精简的副本(clone)打包供用户自己内部使用, 同时避免了用户始终在目标类上直接操作.
8.12 以数据类取代记录
通过数据类来分析记录类数组的元素并替代
8.13...目标类后续的switch以这个类型码对象进行判断, 和8.13相似, 区主要是8.13的目标类不负责有关类型码的计算, 仅仅承载储存功能.
8.16 以字段取代子类
当很多子类之间的差别仅仅是返回的某个常量数据不同的时候..., 数据则自己处理自己
12.2 将过程化设计转化为对象设计
将数据变为对象, 将大块的行为切分并移动到数据对象中, 让分离的数据自己可以进行一些计算, 从而方便后续其它的重构而不用被一个大型的过程函数限制