重构——19以对象取代数据值(Replace Data Value with Object)

以对象取代数据值(Replace Data Value with Object)

你有一个数据项,需要与其他数据和行为一起使用才有意义;将数据项变为对象

一、动机

简单的数据项不再简单

二、做法

1、为待替换数值新建一个类,在其中声明一个final字段,其类型和源类中待替换数值类型一样。然后在新类中加入这个字段的取值函数,再加上一个接受此字段为参数的构造函数

2、编译

3、将源类中的待替换数值字段的类型改为前面新建的类

4、修改源类中该字段的取值函数,令它调用新类的取值函数

5、如果源类构造函数用到了这个待替换字段(多半是赋值动作),我们就修改构造函数,令它改用新类的构造函数来对字段进行赋值动作

6、修改源类中的待替换字段的设值函数,令它为新类创建一个实例

7、编译,测试

8、现在,你有可能需要对新类使用Change Value to Reference

上一篇:DDD领域驱动设计实战-聚合(Aggregate)和聚合根(AggregateRoot)(上)


下一篇:Java---设计模块(值对象)