重构列表 -- 三

第七章 在对象之间搬移特性
在对象设计过程中,“决定把责任放在那儿”即使不是最重要的事,也是最重要的之一。
常常我只需要使用Move Method 和Move Field简单的移动对象行为,就可以解决,优先使用Move Field
类往往因为承担过多责任而变得臃肿不堪。使用Exract Class 将部分责任分离出去。

7.1 Move Method 搬移函数
你的程序中,有个函数与其所驻类之外的另一个类进行更多交流,调用后者,或被后者调用。
在该函数最常引用的类中建立一个有着类似行为的新函数。将旧函数变成一个单纯的委托函数,或是将旧函数完全移除。
“搬移函数”是重构理论的支柱,如果一个类有太多行为,或如果一个类与另一个类有太多合作而形成高度耦合,我就会搬移函数。这样,可以使系统中的类更简单。

7.2 Move Field 搬移字段
你的程序中,某个字段被其所驻类之外的另一个类更多用到。
在目标类新建一个字段,修改源字段的所有用户,令他们改用新字段。

7.3 Extract Class 提炼类
某个类做了应该由两个类做的事。
建立一个新类,将相关的字段和函数从旧类搬移到新类。
一个类应该是一个清楚的抽象,处理一些明确的责任。

7.4 Inline Class 将类内联化
某个类没有做太多事情
将这个类的所有特性搬移到另一个类中,然后移除原类。
如果一个类不再承担足够的责任,不再有单独存在的理由,将这个”萎缩类”塞进另一个类中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值