上次个人版的时候,上下机算钱部分用的是策略+职责链,(详情参见:http://blog.csdn.net/lhc1105/article/details/30713331)然后因为调用方法太多,又加了个外观,处理的有点儿复杂了,感觉模式用的有点儿生硬。
这次合作版,添加设计模式的时候就去掉了它,改用另一个设计模式处理这个过程了。
这次用的是桥接模式:
因为下机受到计算钱到两个参数的影响,一个是用户类型,一个是收费策略,所以就用桥接模式分开这两个变化,比起以前写N*M个 策略上机策略更易于扩展和应对变化,可以加上很多类型的用户,也可以写很多如何收费的方法,如果两个方向的子类都很多,那么产生的N*M中组合也会很大,和主要使用策略模式相比,这种结构感觉是一种动态生成策略,比提前写好所有的策略更灵活。
小结:设计模式感觉挺有意思的,在个人版的时候可以先生拉硬拽的加上,到了合作版的时候,可以对自己使用的模式进行再思考,从而进行一个优化。
原文地址:http://blog.csdn.net/lhc1105/article/details/38543101