
设计模式
Aquaman_xyh
这个作者很懒,什么都没留下…
展开
-
注解实现策略模式干掉if-else(上)
注解实现策略模式干掉if-else 策略模式 经常在网上看到一些名为“别再if-else走天下了”,“教你干掉if-else”等之类的文章,大部分都会讲到用策略模式去代替if-else。策略模式实现的方式也大同小异。主要是定义统一行为(接口或抽象类),并实现不同策略下的处理逻辑(对应实现类)。客户端使用时自己选择相应的处理类,利用工厂或其他方式。 注解实现 本文要说的是用注解实现策略模式的方式,以及一些注意点。 话不多说,还是以最常 见的订单处理为例。首先定义这样一个订单实体类: @Data public原创 2020-06-13 23:52:41 · 1853 阅读 · 0 评论 -
注解实现策略模式干掉if-else(下)
上篇回顾 上一篇中我们介绍了如何通过注解实现策略模式,定义@OrderHandlerType注解和对应的注解实现类OrderHandlerTypeImpl,并维护了类型为Map<OrderHandlerType, OrderHandler>的orderHandleMap,完成了订单来源与支付方式到订单处理器Handler的映射关系,使得我们在选择订单处理器Handler时更加灵活,更易扩展。 但是在上篇中遗留了一个问题,那就是如果PC端支付宝支付和微信支付是同一种处理逻辑,而移动端支付宝支付和微原创 2020-06-16 17:25:00 · 804 阅读 · 0 评论