博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
31天重构学习笔记6. 降低字段
阅读量:5819 次
发布时间:2019-06-18

本文共 729 字,大约阅读时间需要 2 分钟。

概念:本文中的降低字段和前篇的提升字段正好相反,就是把基类中只有某些少数类用到的字段降低到使用它们的子类中。

 

正文:如下代码所示,基类Task 类中的_resolution字段只会在子类BugTask 中用到,所以就考虑把它放到BugTask 类中。

namespace LosTechies.DaysOfRefactoring.PushDownField.Before {
public abstract class Task {
protected string _resolution; } public class BugTask : Task {
} public class FeatureTask : Task {
} }

重构后的代码如下所示,这样做的好处可以简化基类,同时让其他没有使用它的子类也变得更加简单,如果这样的字段比较多的话,使用此重构也能节约一部分内存。

namespace LosTechies.DaysOfRefactoring.PushDownField.After {
public abstract class Task {
} public class BugTask : Task {
private string _resolution; } public class FeatureTask : Task {
} }

总结:此重构也是一个非常简单的重构,在很多时候我们都会不自觉的使用它。

转载于:https://www.cnblogs.com/ywsoftware/archive/2013/02/05/2892573.html

你可能感兴趣的文章
JavaSE-代码块
查看>>
爬取所有校园新闻
查看>>
北京大学软件与微电子学院嵌入式系统工程系
查看>>
POP3接收邮件
查看>>
32、SpringBoot-整合Dubbo
查看>>
python面向对象基础
查看>>
组装服务器注意事项
查看>>
HDU 2044 一只小蜜蜂(递归)
查看>>
docker 下 安装rancher 笔记
查看>>
spring两大核心对象IOC和AOP(新手理解)
查看>>
数据分析相关
查看>>
无插件用Terminal/TotalTerminal的开当前finder位置
查看>>
Oracle优化器
查看>>
【转】 纯技术帖:MMOG网络同步算法揭秘
查看>>
mysql乱码处理一则
查看>>
cf #345 div2 C(Vasya and String。双端队列)
查看>>
Python LDAP中的时间戳转换为Linux下时间
查看>>
微信小程序蓝牙连接小票打印机
查看>>
决策树算法
查看>>
环境错误2
查看>>