业务场景需要在一个方法上面根据参数不同进行不同的业务逻辑实现,返回结果是统一封装的结果。
该业务场景的类似之处,参考netty 在通过handler 实现不同的逻辑处理。
如果超市货架上面的商品,消费者根据自己的需求,拿去想要的商品后,在收银台统一结算。
从数据结构上面的想到的是:使用链表的方式达到我想要的一种处理数据的结构,在Java的思想中,使用多态的方式,对方法进行不同的实现。
这样就满足了我的各种实现。
https://www.runoob.com/design-pattern/chain-of-responsibility-pattern.html
这种模式的设计方式对于如上场景的实现,并解决 if -else 多层,实现优化是一个不错的选择。
该场景的实现加深了对于链表的使用和Java 多态方式的使用。
------
当然我们在工厂模式下,也可以更好的实现对该handler的各种创建,但是个人认为大可不必,有时候我们需要明确该链表中的元素。