第11天:用策略模式代替switch

今天的重构很有意思,旧的代码是根据参数State来调用三个不同的方法,获取三个地方的装运量

代码如下:

Code

 

 

如果我们现在要加一个Chicago的条件,那么不得不修改整个ShippingInfo

重构后用策略模式,对每一个条件加一个类,并且实现同一个接口,以后如果希望添加新的条件,只需添加新的实现类就可以了,实现对修改关闭,对扩展开放

重构后的代码如下

Code

 

 

故事还没完,书的作者又进行了如下的重构,今天没有弄明白,先记录下来

Code

posted @ 2010-01-04 18:21  双击  阅读(516)  评论(0编辑  收藏  举报