摘要: 责任链模式有很多变种。有些责任链是构成一个list,遍历调用,有一个成功就直接返回。比如DateFormatChain有些的实现方式如下所示,是通过某个Handler手动调用下一个Handler来传递,还有一些变种是被称为拦截器(Interceptor)或者过滤器(Filter),它的目的不是找到某 阅读全文
posted @ 2022-08-29 19:13 Mars.wang 阅读(83) 评论(0) 推荐(0) 编辑
摘要: 职责链模式的一个变种如下,执行某一个handler,用当前handler是否执行成功判断是否要执行下一个handler, 首先我们定义一个抽象handler类,如果当前handler执行不成功,且还有下一个handler,则继续往下执行 public abstract class Handler { 阅读全文
posted @ 2022-08-29 19:06 Mars.wang 阅读(55) 评论(0) 推荐(0) 编辑
摘要: 之前的博文中使用一个订单价格根据用户类型进行打折计算总价的例子来展示的策略模式。 其实策略本身就是一种计算方式,这种场景最适合使用函数式编程。 接下来我们就利用函数式编程重构一下上一篇《java设计模式之策略模式》中的案例。 首先定义一个用户枚举类型,不同的类型有不同的打折模式。 注意我们的枚举括号 阅读全文
posted @ 2022-08-29 10:43 Mars.wang 阅读(100) 评论(0) 推荐(0) 编辑