简易版策略模式.去除if.else

场景:

        Order order = new Order();
        if (order.getType() == 1) {
            handle1(order);
        } else if (order.getType() == 2) {
            handle2(order);
        } else if (order.getType() == 3) {
            handle3(order);
        }

实现(类似于简易版的策略模式):

private final static ImmutableMap<Integer, Function<Order,String>> ORDER_TYPE_MAP =
ImmutableMap.<Integer, Function<Order,String>>builder()
            .put(1, order->handle1(order))
            .put(2, order->handle2(order))
            .build();

ORDER_TYPE_MAP.get(order.getType() ).accept(new Order());
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容