设计模式在Netty中的应用-责任链模式源码举例
生活随笔
收集整理的這篇文章主要介紹了
设计模式在Netty中的应用-责任链模式源码举例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
責任鏈:是指多個對象都有機會處理同一個請求,從而避免請求的發送者和接收者之間的耦合關系。然后,將這些對象連成一條鏈,并且沿著這條鏈往下傳遞請求,直到有一個對象可以處理它為止。在每個對象處理過程中,每個對象只處理它自己關心的那一部分,不相關的可以繼續往下傳遞,直到鏈中的某個對象不想處理,可以將請求終止或丟棄。責任鏈模式要點回顧:
1、需要有一個頂層責任處理接口(ChannelHandler)。
2、需要有動態創建鏈、添加和刪除責任處理器的接口(ChannelPipeline)。
3、需要有上下文機制(ChannelHandlerContext)。
4、需要有責任終止機制(不調用ctx.fireXXX()方法,則終止傳播)。
AbstractChannelHandlerContext:
abstract class AbstractChannelHandlerContext extends DefaultAttributeMap implements ChannelHandlerContext, ResourceLeakHint {private AbstractChannelHandlerContext findContextInbound() {AbstractChannelHandlerContext ctx = this;do {ctx = ctx.next;} while(!ctx.inbound);return ctx; }}?
總結
以上是生活随笔為你收集整理的设计模式在Netty中的应用-责任链模式源码举例的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 设计模式在Netty中的应用-迭代器模式
- 下一篇: 设计模式在Netty中的应用-工厂模式源