日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > java >内容正文

java

Java设计模式—责任链模式

發布時間:2025/5/22 java 148 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Java设计模式—责任链模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

????

責任鏈模式的定義:

??????? 使多個對象都有機會處理請求,從而避免了請求的發送者和接受者之間的耦合關系。將這些對象連成一條鏈,并沿著這條鏈傳遞該請求,直到有對象處理它為止。

?

責任鏈模式的重點是在“”上,由一條鏈去處理相似的請求在鏈中決定誰來處理這個請求,并返回相應的結果。


責任鏈模式的通用類圖如下所示:

?

通用源代碼:

package com.package4; public class Test4{public static void main(String[] args){//聲明所有的處理節點Handler handler1 = new ConcreteHandler1();Handler handler2 = new ConcreteHandler2();Handler handler3 = new ConcreteHandler3();//設置鏈中的階段順序1-->2-->3handler1.setNext(handler2);handler2.setNext(handler3);//提交請求,返回結果Response response = handler1.handleMessage(new Request());} }abstract class Handler {private Handler nextHandler;//每個處理者都必須對請求做出處理 public final Response handleMessage(Request request){Response response = null; //判斷是否是自己的處理級別if(this.getHandlerLevel().equals(request.getRequestLevel())){response = this.echo(request);}else{ //不屬于自己的處理級別//判斷是否有下一個處理者if(this.nextHandler != null){response = this.nextHandler.handleMessage(request);}else{//沒有適當的處理者,業務自行處理}}return response;}//設置下一個處理者是誰public void setNext(Handler _handler){this.nextHandler = _handler;}//每個處理者都有一個處理級別protected abstract Level getHandlerLevel();//每個處理者都必須實現處理任務protected abstract Response echo(Request request); }class ConcreteHandler1 extends Handler {//定義自己的處理邏輯protected Response echo(Request request) {//完成處理邏輯return null; }//設置自己的處理級別protected Level getHandlerLevel() {//設置自己的處理級別return null;} } class ConcreteHandler2 extends Handler {//定義自己的處理邏輯protected Response echo(Request request) {//完成處理邏輯return null;}//設置自己的處理級別protected Level getHandlerLevel() {//設置自己的處理級別return null;} }class ConcreteHandler3 extends Handler {//定義自己的處理邏輯protected Response echo(Request request) {//完成處理邏輯return null;}//設置自己的處理級別protected Level getHandlerLevel() {//設置自己的處理級別return null;} }class Level {//定義一個請求和處理等級 } class Request {//請求的等級public Level getRequestLevel(){return null;} } class Response {//處理者返回的數據 }抽象的處理者實現三個職責:


一是定義一個請求的處理方法handle Message,唯一對外開放的方法;

二是定義一個鏈的編排方法setNext,設置下一個處理者;

三是定義了具體的請求者必須實現的兩個方法:定義自己能夠處理的級別get Handler Level和具體的處理任務echo。


/*************************************************************************************************

注意handler Message方法前的final關鍵字,模板方法模式中的模板方法也是final類型的。

**************************************************************************************************/

1、責任鏈模式的優點:

責任鏈模式非常顯著的優點是將請求和處理分開。


2、責任鏈模式的缺點:

一是性能問題,每個請求都是從鏈頭遍歷到鏈尾,特別是在鏈比較長的時候,性能是一個非常大的問題。

二是調試不很方便,特別是鏈條比較長,環節比較多的時候,由于采用了類似遞歸的方式,調試的時候邏輯可能比較復雜。


3、使用責任鏈模式的注意事項:

鏈中節點數量需要控制,避免出現超長鏈的情況,一般的做法是在Handler中設置一個最大節點數量,在setNext方法中判斷是否已經是超過其閾值,超過則不允許該鏈建立,避免無意識地破壞系統性能。

?

?

?

?

?

轉載于:https://www.cnblogs.com/lanzhi/p/6467299.html

總結

以上是生活随笔為你收集整理的Java设计模式—责任链模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 爽爽视频在线观看 | 久久久久久九九 | 夜夜躁很很躁日日躁麻豆 | 一级国产黄色片 | 日韩激情视频一区二区 | a极黄色片 | 国产亚洲毛片 | 精品人妻一区二区三区四区久久 | 久久久久人妻一区精品色欧美 | 亚洲精品一区二区三区影院忠贞 | 精品久久久久久亚洲综合网站 | 国产夫妻在线观看 | 丰满少妇在线观看资源站 | 黄色福利站 | 午夜精品久久久久久久96蜜桃 | 国产综合婷婷 | 亚洲精品影院在线 | 在线激情视频 | 欧美一级全黄 | 香蕉视频成人在线观看 | 在线观看国产亚洲 | 中文字幕在线观看视频www | 来吧亚洲综合网 | 国产精品一区二区欧美 | 国内自拍2020 | 欧美三级视频在线 | 国产成人激情 | 萌白酱喷水视频 | 国产蜜臀av一区二区 | 天天操夜夜操 | 精品视频在线观看免费 | 日韩黄色短视频 | 亚洲人妻一区二区 | 新版天堂资源中文8在线 | 久久精品国产精品亚洲色婷婷 | 日韩一级网站 | 国产剧情av麻豆香蕉精品 | 欧美亚洲视频 | 丰满尤物白嫩啪啪少妇 | 日韩经典一区二区 | 欧美嫩交 | 高hnp视频| 免费在线一区二区 | 久久女人天堂 | 亚洲综合免费 | 韩国av一区二区三区 | 久久国内偷拍 | 四虎成人av| 午夜精品福利一区二区三区蜜桃 | 日韩精品电影在线观看 | 日韩专区一区 | 欧美另类tv | 熟妇女人妻丰满少妇中文字幕 | 超碰成人福利 | 一本色道久久综合亚洲精品酒店 | 久久精品国产亚洲av久一一区 | 午夜淫片| 黄色片在哪看 | 东方影库av | www..99热| 久久激情片 | 伊人精品在线视频 | www.污在线观看 | 九九热视频在线 | 久久99精品国产91久久来源 | 成年人网站免费视频 | 日韩av一区二区三区在线 | 福利在线看 | 日本免费中文字幕 | 香蕉视频在线免费播放 | 久久一热 | 97在线播放免费观看 | 日韩成人精品一区 | 成人精品二区 | 国产成人一区二区在线 | 欧美色图一区二区 | 少妇高潮一区二区三区四区 | 久操色 | 人人舔人人爽 | 中文字幕一区二区三区人妻四季 | 国产精品一区二区三区在线看 | 欧美在线观看一区 | 五月依人网 | 最新日韩精品 | 国产精品白浆一区二小说 | 成年人在线播放 | 精品黄网 | 五月精品 | 欧美精品一区二区三区久久 | 成人精品视频一区二区三区尤物 | 欧美性猛交xxxx偷拍洗澡 | 青青草娱乐视频 | 久99视频| 免费观看一区二区三区 | 巨胸大乳www视频免费观看 | 夜夜看| 国产又色又爽又高潮免费 | 日本亚洲天堂 | 国产精品操 |