带你读《2022技术人的百宝黑皮书》——一个搞定责任链的注解(3)

简介: 带你读《2022技术人的百宝黑皮书》——一个搞定责任链的注解(3)

带你读《2022技术人的百宝黑皮书》——一个搞定责任链的注解(2)

https://developer.aliyun.com/article/1339676?groupCode=taobaotech


实现原理

 

业务接口通过生成的Pipeline构造实现,Pipeline负责责任链的组装及调用链表的首个节点(head)。首个节点如果    处理完成有返回值,则直接返回;否则传递给下一个节点。如果处理到最后一个节点(tail)返回仍然为空,则直接返  回空。

image.png

 

 

 

以获取配置为例:

 

image.png

 

 

image.png用 户 实 现 :

image.pngConfigSource

image.png用户自定义的 获取配置的接口

image.pngHandler实现:

image.pngMapConfigSourceHandler 、 SystemConfigSourceHandler

image.pngAutoPipeline生成

image.pngConfigSourcePipeline

image.png含义:责任链管道

image.png核心作用:将ConfigSourceHandler 串联成链表

image.pngConfigSourceHandlerContext

image.png含义:Handler的上下文,相比传统责任链,新增了获取全局Pipeline的能力

image.pngAbstractConfigSourceHandlerContext

image.png含义:Handler的上下文的抽象类

image.png数据结构:主要由三个部分组成:pre、next、handler

image.png核心作用:通过handler().get(key , findNextCtx()) 实现了 String get(String key) 方法

image.pngDefaultConfigSourceHandlerContext

image.png持有ConfigSourceHandler对象的默认实现类

 

 

带你读《2022技术人的百宝黑皮书》——一个搞定责任链的注解(4)https://developer.aliyun.com/article/1339674?groupCode=taobaotech

相关文章
|
Java 测试技术 应用服务中间件
常见 Java 代码缺陷及规避方式(下)
常见 Java 代码缺陷及规避方式(下)
342 0
|
缓存 NoSQL Java
Java工具篇之Guava-cache内存缓存
常在业务系统中做开发,不会点高级知识点,有点不好意思了。在业务系统中,提高系统响应速度,提供系统高并发能力,其实方向很简单,三个方向,六个字而已: **缓存降级限流。** 当然这是在排除代码质量非常差的情况,如果代码质量很差,都是while循环和高内存占用,那么其实再怎么做都于事无补。除非你有一个马云爸爸,性能不够,机器来凑嘛。阿里云前来支持(1000台机器够了吗?)
1681 0
|
9月前
|
设计模式 算法 前端开发
【设计模式】【行为型模式】职责链模式(Chain of Responsibility)
一、入门 什么是职责链模式? 职责链模式是一种行为设计模式,它允许你将请求沿着一条链传递,直到有对象处理它为止。每个对象都有机会处理请求,或者将其传递给链中的下一个对象。 为什么需要职责链模式? 使用
344 16
|
10月前
|
机器学习/深度学习 存储 算法
【LeetCode 热题100】347:前 K 个高频元素(详细解析)(Go语言版)
这篇文章详细解析了力扣热题 347——前 K 个高频元素的三种解法:哈希表+小顶堆、哈希表+快速排序和哈希表+桶排序。每种方法都附有清晰的思路讲解和 Go 语言代码实现。小顶堆方法时间复杂度为 O(n log k),适合处理大规模数据;快速排序方法时间复杂度为 O(n log n),适用于数据量较小的场景;桶排序方法在特定条件下能达到线性时间复杂度 O(n)。文章通过对比分析,帮助读者根据实际需求选择最优解法,并提供了完整的代码示例,是一篇非常实用的算法学习资料。
630 90
|
11月前
|
设计模式 XML 算法
策略模式(Strategy Pattern)深度解析教程
策略模式属于行为型设计模式,通过定义算法族并将其封装为独立的策略类,使得算法可以动态切换且与使用它的客户端解耦。该模式通过组合替代继承,符合开闭原则(对扩展开放,对修改关闭)。
|
11月前
|
关系型数据库 MySQL 索引
WordPress文章推荐插件
这是一款功能强大的WordPress插件,支持在文章底部和侧边栏推荐最新、随机、相关文章及标签。主要特点包括:无需依赖文章标签即可实现相关文章推荐;支持全文索引搜索,提升搜索速度与准确性;可自定义侧边栏HTML模板和样式;兼容默认搜索功能替换,优化搜索体验。插件适合技术新手和进阶用户,提供免费技术支持,但默认列表样式如需改为图文样式需额外收费。注意:全文索引功能需MySQL 5.7及以上版本。
190 0
|
安全 网络安全 定位技术
使用CDN服务对网页加载速度有何影响,如何选择合适的CDN提供商
使用CDN服务对网页加载速度有何影响,如何选择合适的CDN提供商
|
JavaScript Java 测试技术
基于SpringBoot+Vue+uniapp的程序设计实践项目管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
基于SpringBoot+Vue+uniapp的程序设计实践项目管理系统的详细设计和实现(源码+lw+部署文档+讲解等)
222 1
|
缓存 Java Spring
Guava缓存工具类封装和使用
Guava缓存工具类封装和使用
466 0
|
Java API Spring
常见 Java 代码缺陷及规避方式(上)
常见 Java 代码缺陷及规避方式(上)
415 0