您的位置:首页 > 其它

31天重构指南之四:降低方法(pull down)

2009-09-16 09:32 405 查看
昨天我们讨论了利用“提升方法”重构将多个子类要用到的方法提升到父类中,今天我们来看和“提升方法”相反的重构---降低方法,下面是待重构的代码:

1:publicabstractclassAnimal
2:{
3:publicvoidBark()
4:{
5://codetobark
6:}
7:}
8:
9:publicclassDog:Animal
10:{
11:}
12:
13:publicclassCat:Animal
14:{
15:}
如代码所示,我们有一个带有Bark方法的Animal基类,还有两个实现了Animal的子类Dog和Cat,但在Cat类中我们却不需要Bark方法,只有在Dog类中需要,所以我们将Bark方法降低到Dog类中。
另外,现在也是一个判断是否将Animal转换为接口的机会,如果重构后Animal中没有其它的方法了,就可以将Animal转化为一个接口,否则不用转换。下面是重构后的代码:
1:publicabstractclassAnimal
2:{
3:}
4:
5:publicclassDog:Animal
6:{
7:publicvoidBark()
8:{
9://codetobark
10:}
11:}
12:
13:publicclassCat:Animal
14:{
15:}
原文链接:http://www.lostechies.com/blogs/sean_chambers/archive/2009/08/04/refactoring-day-4-push-down-method.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: