ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
有时你会看到两个classes过于亲密,花费太多时间去探究彼此的private成分。如果这发生在两个[人]之间,我们不必做卫道之士;但对于classes,我们希望它们严守清规。

就像古代恋人一样,过分狎昵的classes必须拆散。你可以采用Move Method(142)和Move Field(146)
帮它们划清界线,从而减少狎昵行经。你可以看看是否运用Change Bidirectional Association to Unidirectional(200)让其中一个class对另一个斩断情丝。如果两个classes实在是情投意合,可以运用Extract Class(149)把两者共同点提炼到一个安全地点,让它们坦荡地使用这个新class。或者也可以尝试运用Hide Delegate(157)让另一个class来为它们传递相思情。

继承(inheritance)往往造成过度亲密,因为subclass对superclass的了解总是超过superclass的主管愿望。如果你觉得该让这个孩子独自生活了,请运用Replace Inheritance with Delegation(352)让它离开继承体系。
posted on 2005-08-19 16:28 ivaneeo 阅读(511) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

只有注册用户登录后才能发表评论。


网站导航: