消除代码异味:如何去掉一大串if-then-else-if(或者switch)
经常地,为了去掉if-then-else-if或者switch,我们需要先保证在每个条件分支下的要写的代码是一样的。在drawShapes这个方法里面,我们先以一个较抽象的方法(伪码)来写吧!

条件下的代码还是不怎么一样,不如再抽象一点:

好,现在三个分支下的代码都一样了。我们也就不需要条件分支了:

消除代码异味:如何去掉一大串if-then-else-if(或者switch)
经常地,为了去掉if-then-else-if或者switch,我们需要先保证在每个条件分支下的要写的代码是一样的。在drawShapes这个方法里面,我们先以一个较抽象的方法(伪码)来写吧!
条件下的代码还是不怎么一样,不如再抽象一点:
好,现在三个分支下的代码都一样了。我们也就不需要条件分支了: