TDD(测试驱动开发)

重构坏味道:无用的中间人

2018-01-23  本文已影响0人  Ps天花乱坠

中间人

症状

一个小伙子(类)只是委托另外一个小伙子(delegate类)传话给她喜欢的姑娘(调用另外一个类)。这个委托类没有做其它额外的事情(那么这个小伙子为什么不直接去追那个姑娘呢,姑娘有可能最后让传话的这个小伙子得到了😂)。 Middle Man

病因

有时候是过度消除 Message Chain 导致的结果
有时候你可能会发现是一个类的行为逐渐转移到其它类,被转移之后这个类只是一个空壳,除了委托(delegate)之外什么都不做。

导致的健康问题

如果调用端想使用被委托类的新功能,因为它不知道“被委托类”,所以委托类必须添加简单的委托函数供调用端使用,如果这种函数很多,委托类就完全变成了一个中间人,这样的话无形中增加了开发成本。

治疗

康复

小伙可以见到传说的姑娘了😂


Middle Man After Refactoring

什么情况不治疗

上一篇下一篇

猜你喜欢

热点阅读