java 责任链模式 链表_责任链模式的实现及源码中应用
生活随笔
收集整理的這篇文章主要介紹了
java 责任链模式 链表_责任链模式的实现及源码中应用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
01
—
責任鏈模式的實現
假設一個出差任務的流程需要審批出差行程和出差報銷金額。那么,對應兩個部門的審核。我們先定義一個出差任務Task類:
然后,我們定義一個抽象的處理類Handler,其中具體的處理方法Handle交給子類去實現。
然后,出差行程的審核者繼承了Handler,并實現了其中的Handle方法。其中,處理成功,需要判斷是否有下一個Handler,如果有則傳遞下去。
然后繼續實現出差金額的審核者MoneyHandler,其處理思路和上面類似。
測試類如下,首先創建出差任務。然后在應用層設置處理流程(即有哪幾個Handler),然后從第一個流程開始啟動。
測試結果如下,從測試結果可以看出,正常處理。如果某一個審核不通過,則會終止當前的Handler向下傳播。
02
—
Netty中的源碼
在Netty中的Pipeline上是基于鏈表實現的責任鏈。在Pipeline上添加Handler,最終Handler會在責任鏈上傳遞。
具體可以參考Netty中的源碼。
此外,在Servlet中的Filter也是基于責任鏈模式實現的,與上面的案例實現方式一致。
總結
以上是生活随笔為你收集整理的java 责任链模式 链表_责任链模式的实现及源码中应用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php复习,PHP排序算法的复习和总结
- 下一篇: [转载] JAVA面试题大全(part_