知识卡片
Pipeline责任链解决if-else泛滥
内容
Netty用ChannelPipeline加ChannelHandler实现责任链模式,把连接处理逻辑拆成独立小模块,按需addLast动态拼接,而不是塞进一个类用if-else判断。新增一种协议或校验规则时,只需新增一个Handler插入链条,不用改已有代码。发散:这是开闭原则的落地——用组合链条替代分支判断应对功能扩展,同样思路也出现在中间件洋葱模型、servlet Filter链等设计里。
参考来源
《跟闪电侠学Netty:Netty即时聊天实战与底层原理》第11章《Pipeline与ChannelHandler》