同事写了一个责任链模式bug无数!

2022-07-03 02:44:04

  上一篇: 阿里健壮先导第二波;得物解除996,厂有直呼总包少了17%;跟阿里高p闲扯,时期的眼泪

  近来,我让团队内一位成员写了一个导入效力。他运用了仔肩链形式,代码堆的绝顶众,bug 也众,没有到达我预期的结果。本质上,针对导入效力,我以为模版手段更适宜!为此,近邻团队也拿出咱们的案例,实行了整体 code review。

  「仔肩链形式」是一种行径计划形式, 准许你将乞请沿着治理者链实行发送。收到乞请后, 每个治理者均可对乞请实行治理, 或将其转达给链上的下个治理者。

  这种代码不但冗余,而且当咱们要将某两闭实行调节时会对代码绝顶大的改动,这种操作的危急是很高的,以是,该写法绝顶倒霉

  怎么办理这个题目,咱们能够通过链外将每一闭相连起来,酿成仔肩链的方法,第一闭通事后是第二闭,第二闭通事后是第三闭 ....,云云客户端就不必要实行众重 if 的推断了

  既然每个闭卡中都有下一闭的 成员变量 而且是不相似的,那么咱们能够正在闭卡上空洞出一个父类或者接口,然后每个整体的闭卡去承继或者实行

  整体治理者(Concrete Handler)脚色:实行空洞治理者的治理手段,推断能否治理本次乞请,借使能够治理乞请则治理,不然将该乞请转给它的后继者。

  看待上面的乞请链,咱们也能够把这个相闭庇护到装备文献中或者一个列举中。我将运用列举来教会群众奈何动态的装备乞请链而且将每个乞请者酿成一条移用链。