Netflix Ribbon源码设计错误的证据(附正确实例)
Netflix Ribbon源码设计错误的证据(附正确实例)
我在之前一篇博客里https://www.cnblogs.com/yangfeiORfeiyang/p/9644254.html 里对Netflix Ribbon的Loadbalancer类源码设计的合理性提出了自己的质疑,然后很多人觉得大师的代码怎么可能会错?你个菜鸡也敢质疑大神写的代码?那我今天就拿出确凿的证据来
首先,我们来看看这个类的
choose(ILoadBalancer lb, Object key)方法,请注意我画红线的地方
我们再来看看类
再来看下类
看到这里大家应该明白了吧?因为把不会变的对象封装到了可变的细节里,导致每个细节都需要重复做判断,这样会导致什么问题呢?当然是重复代码呀.当然你也可以说有些判断必须要到细节里去判断,但是这跟把重复判断抽出来有关系吗?
最后给正确实例