重构改善既有代码的设计是php,PHP 杂谈《重构-改善既有代码的设计》之二 对象之间搬移特性...

20120409221928477.png

20120409221928310.png

类图:

20120409221928516.png

动机:

1、如果一个类与另一个类有高度耦合,我就会Move Method。——class更简单,更干净利落的实现系统交付的任务。

2、移动一些值域,就要检查是否使用另一个类的次数必使用所驻对象的次数还多。

Move Field

状况:你的class中的field被另一个class更多的用到。那么在另一个class里建立new field,修改旧的field。

20120409221928700.png

20120409221928477.png

20120409221929241.png

Extract Class

状况:一个类做了两个类做的事,那么建立一个新Class,将相关的Field和Method从旧Class移到新Class。

20120409221929731.png

20120409221928477.png

20120409221929669.png

Inline Class

状况:你的某个Class没有做太多事情(没有承担足够责任),那么将Class的所有特性搬移到另一个Class中,然后移除原Class。

动机:Inline Class与Extract Class相反。——把Extract Class例子反过去,因为PhoneNumber只用作读取code和number。

Hide Delegate

状况:客户直接调用Server Object的Delegate Class的Method,那么在Server端建立客户所需的函数Method,用以隐藏委托关系。

学过对象技术的人都知道,虽然php允许你将field声明为public,但你还应该隐藏field(private)。随着经验日渐丰富,有更多值得封装的东西。

看下面一个例子:

20120409221929335.png

$person->getDepartment()->getManager()明显揭露了,要想找到Xiaocai的领导,必须要经过department,所以我们要做的事隐藏department。——可以减少耦合性。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
重构是一种对既有代码进行重新设计和优化的过程。重构的目的是为了使代码更易于理解,更易于维护,更易于扩展。第二版的《重构改善既有代码设计》pdf收录了更多实践经验和案例,以帮助读者更好地理解和应用重构技术。 首先,第二版pdf对于重构的核心概念和原则进行了深入的阐述和解释。通过详细的案例分析和实用的技巧,读者可以更加清晰地理解何时以及如何进行重构。同时,还介绍了一些新的重构技术和工具,帮助读者更高效地进行代码设计和优化。 其次,第二版pdf在案例分析方面进行了丰富的补充。通过各种不同类型的案例,涵盖了各种语言和开发环境下的重构实践,帮助读者更好地理解重构的实际应用。此外,还介绍了一些最新的行业趋势和实践经验,使得读者可以更好地掌握重构的最新发展动态。 最后,第二版pdf还增加了一些实用的工具和资源,帮助读者更好地进行重构。这些工具包括一些常用的重构插件和扩展,以及一些优秀的开源项目和社区资源,使得读者可以更加便捷地进行重构工作。同时,还提供了一些实用的技巧和建议,帮助读者更好地进行代码设计和优化。 总之,第二版《重构改善既有代码设计》pdf通过更加详实的案例分析和丰富的实践经验,帮助读者更好地掌握重构的核心原则和技术,从而更加高效地进行代码设计和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值