中国开发网: 论坛: 程序员情感CBD: 贴子 592773
sealw: 重构与模式
4.10 分支语句(Switch Statement)

switch语句(或者if...elseif...elseif...结构的等效语句)本身并没有问题。只有在使用这种语句会使设计过度地复杂或者僵硬时,它们才会成为问题。这时,最好将分支语句去除,重构为更基于对象或者多态的解决方案。

用Command替换条件调度程序(7.6节)重构描述了如何将大的分支语句分解为一组Command [DP] 对象,每个Command对象都可以不使用条件逻辑进行查找和调用。

将聚集操作搬移到Visitor(10.2节)重构描述了这样一个例子,其中用分支语句保存来自具有不同接口的实例的数据。通过将这段代码重构为使用Visitor [DP],就不需要使用条件逻辑,而且设计也变得更加灵活。

http://book.csdn.net/bookfiles/146/1001466192.shtml

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录