所谓Data Class是指:
它们拥有一些字段,以及用于访问(读写)这些字段的函数, 除此之外一无长物.
这样的类只是不会说话的数据容器, 它们几乎一定被其他类过分细碎地操控着. 这些类早期可能拥有public字段, 果真如此你应该在别人注意到它们之前, 立刻运用Encapsulate Field(封装字段) 将它们封装起来. 如果这些类内含有容器类字段, 你应该检查它们是不是得到了恰当的封装; 如果没有, 就运用 Encapsulate Collection(封装集合) 把它们封装起来. 对于那些不该被其他类修改的字段, 运用Remove Setting Method(移除设值函数)
然后,找出这些取值/设值函数被其他类运用的地点. 尝试以Move Method 把那些调用行为搬移到Data Class来. 如果无法搬移整个函数, 那就运用Extract Method 产生一个可被搬移的函数. 不久之后你就可以Hide Method(隐藏函数) 把这些取值/设值函数隐藏起来了.
Data Class就像一个小孩子. 作为一个起点很好, 但若要让它们像成熟的对象那样参与整个系统的工作, 它们就必须承担一定责任.