1378 字
约 4 分钟
3
重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」

重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」 作者:小傅哥

博客: https://bugstack.cn (opens new window) 沉淀、分享、成长,让自己和他人都能有所收获!😄 # 一、前言 场地和场景的重要性 射击🏹需要去靶场学习、滑雪🏂需要去雪场体验、开车🚗需要能上路实践,而编程开发除了能完成产品的功能流程,还需要保证系统的可靠性能。就像你能听到的一些系统监控指标: QPS 、 TPS 、 TP99 、 TP999 、 可用率 、 响应时长 等等,而这些指标的总和评估就是一个系统的健康度。但如果你几乎没有听到这样的技术术语,也没接触过类似高并发场景,那么就很像驾驶证的科目1考了100分,但不能上路。没有这样的技术场景给你训练,让你不断的体会系统的脾气秉性,即便你有再多的想法都没法实现。所以,如果真的想学习一定要去一个有实操的场景,下水试试才能学会狗刨。 你的视觉盲区有多大 同样一本书、同样一条路、同样一座城,你真的以为生活有选择吗?有时候很多选项都是摆设,给你多少次机会你都选的一模一样。这不是你选不选而是你的认知范围决定了你下一秒做的事情,另外的一个下一秒又决定了再下一个下一秒。就像管中窥豹一样,20%的面积在你视觉里都是黑色的,甚至就总是忽略看不到,而这看不到的20%就是生命中的时运!但,人可以学习,可以成长,可以脱胎换骨,可以努力付出,通过一次次的蜕变而看到剩下的20%! 没有设计图纸你敢盖楼吗 编程开发中最好的什么,是设计。运用架构思维、经验心得、 才华灵感 ,构建出最佳的系统。真正的研发会把自己写的代码当做作品来欣赏,你说这是一份工作,但在这样的人眼里这可不是一份工作,而是一份工匠精神。就像可能时而你也会为自己因为一个 niubility 的设计而豪迈万丈,为能上线一个扛得住每秒200万访问量的系统会精神焕发。这样的自豪感就是一次次垒砖一样垫高脚底,不断的把你的视野提高,让你能看到上层设计也能知晓根基建设。可以把控全局,也可以治理细节。这一份份知识的沉淀,来帮助你绘制出一张系统架构蓝图。 # 二、开发环境 JDK 1.8 Idea + Maven 涉及工程三个,可以通过关注 公众号 : bugstack虫洞栈 (opens new window) ,回复 源码下载 获取(打开获取的链接,找到序号18) 工程 描述 itstack-demo-design-13-00 场景模拟工程;模拟一个上线流程审批的接口。 itstack-demo-design-13-01 使用一坨代码实现业务需求 itstack-demo-design-13-02 通过设计模式优化改造代码,产生对比性从而学习 # 三、责任链模式介绍 图片来自: https://refactoringguru.cn/design-patterns/chain-of-responsibility (opens new window) 击鼓传雷 ,看上图你是否想起周星驰有一个电影,大家坐在海边围成一个圈,拿着一个点燃的炸弹,互相传递。 责任链模式的核心是解决一组服务中的先后执行处理关系,就有点像你没钱花了,需要家庭财务支出审批,10块钱以下找闺女审批,100块钱先闺女审批再媳妇审批。你可以理解想象成当你要跳槽的时候被安排的明明白白的被各个领导签字放行。 # 四、案例场景模拟 在本案例中我们模拟在618大促期间的业务系统上线审批流程场景 像是这些一线电商类的互联网公司,阿里、京东、拼多多等,在618期间都会做一些运营活动场景以及提供的扩容备战,就像过年期间百度的红包一样。但是所有开发的这些系统都需要陆续的上线,因为临近618有时候也有一些紧急的调整的需要上线,但为了保障线上系统的稳定性是尽可能的减少上线的,也会相应的增强审批力度。就像一级响应、二级响应一样。 而这审批的过程在随着特定时间点会增加不同级别的负责人加入,每个人就像责任链模式中的每一个核心点。对于研发小伙伴并不需要关心具体的审批流程处理细节,只需要知道这个上线更严格,级别也更高,但对于研发人员来说同样是点击相同的提审按钮,等待审核。 接下来我们就模拟这样一个业务诉求场景,使用责任链的设计模式来实现此功能。 # 1. 场景模拟工程

itstack-demo-design-13-00
└── src
 └── main
 └── java
 └── org.itstack.demo.design
 └── AuthService.java

1 2 3 4 5 6

重学 Java 设计模式:实战责任链模式「模拟618电商大促期间,项目上线流程多级负责人审批场景」
http://www.clxhxhhr.top/posts/3156/
作者
clxstart
发布于
2026-09-24
许可协议
CC BY-NC-SA 4.0
评论
0 条
还没有评论,先写一条吧。