搬移函数(Move Method)
现象
:有函数与其所驻类之外的另一个类进行更多交流:调用后者或被后者调用
动机
:两个类并无太多合作,但是出现了高度耦合。
做法
:在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数,或是将旧函数完全移除
搬移字段(Move Field)
现象
:某个字段被其所驻类之外的另一个类更多地用到
动机
:把职责迁移到更适合它的地方去
做法
:在目标类新建一个字段,修改源字段的所有用户,令他们改用新字段
提炼类(Extract Class)
现象
:某个类做了应该由两个类做的事
动机
:拥有过多职责的类,责任定位会变得模糊,从而变得难以理解
做法
:建立一个新类,将相关的字段和函数从旧类搬移到新类
将类内联化(Inline Class)
现象
:某个类没有做太多事情
动机
:若一个类没有承担足够大的责任,就没有独立存在的理由
版权声明:本文为q1052196521原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。