最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java責(zé)任鏈模式模板代碼分享

 更新時(shí)間:2018年01月12日 08:47:08   作者:dean_deng  
這篇文章主要介紹了Java責(zé)任鏈模式模板代碼分享,具有一定借鑒價(jià)值,需要的朋友可以參考下

本文分享了一則Java編程責(zé)任鏈模式的模板代碼,代碼中有詳細(xì)注釋,大家可以參考。具體如下:

//抽象處理者 
public abstract class Handler{ 
 private Handler nextHandler; 
 //每個(gè)處理者都必須對請求做出處理 
 public final Response handleMessage(Request request){ 
   Response response = null; 
   //判斷是否自己的處理級別 
   if(this.getHandlerLevel().equals(request.getRequestLevel())){ 
    response = this.echo(request); 
   }else{ 
    //判斷是否有下一個(gè)處理者 
    if(this.nextHandler != null){ 
     response = this.nextHandler.handleMessage(request); 
    }else{ 
     //沒有適當(dāng)?shù)奶幚碚?
   } 
  } 
  return response; 
 } 
 //設(shè)置下一個(gè)處理者是誰 
 public void setNext(Handler _handler){ 
   this.nextHandler = _handler; 
 }  
 //每個(gè)處理者都有一個(gè)處理級別 
 protected abstract Level getHandlerLevel(); 
 //每個(gè)處理者都必須實(shí)現(xiàn)處理任務(wù) 
 protected abstract Response echo(Request request); 
} 
 
 //具體處理者1 
publlic class ConcreteHandler1 extends Handler{ 
  //定義自己的處理邏輯 
  protected Response echo(Request request){ 
   //完成處理邏輯 
   return null; 
  } 
  //設(shè)置自己的處理級別 
  protected Level getHandlerLevel(){ 
   //設(shè)置自己的處理級別 
   return null; 
  } 
} 
 
//具體處理者2 
publlic class ConcreteHandler2 extends Handler{ 
  //定義自己的處理邏輯 
  protected Response echo(Request request){ 
   //完成處理邏輯 
   return null; 
  } 
  //設(shè)置自己的處理級別 
  protected Level getHandlerLevel(){ 
   //設(shè)置自己的處理級別 
   return null; 
  } 
}  
 
//具體處理者3 
publlic class ConcreteHandler3 extends Handler{ 
  //定義自己的處理邏輯 
  protected Response echo(Request request){ 
   //完成處理邏輯 
   return null; 
  } 
  //設(shè)置自己的處理級別 
  protected Level getHandlerLevel(){ 
   //設(shè)置自己的處理級別 
   return null; 
  } 
}  
 
//模式中有關(guān)框架的代碼 
public class Level{ 
 //定義一個(gè)請求和處理等級 
}  
public class Request{ 
 //請求的等級 
 public Level getRequestLevel(){ 
  return null; 
 } 
} 
public class Response{ 
 //處理返回者的數(shù)據(jù) 
} 
 
//場景類 
public class Client{ 
 public static void main(String[] args){ 
   //聲明所有的處理節(jié)點(diǎn) 
   Handler handler1 = new ConcreteHandler1(); 
   Handler handler2 = new ConcreteHandler2(); 
   Handler handler2 = new ConcreteHandler3(); 
   //設(shè)置鏈中的階段順序1-->2-->3 
   handler1.setNext(handler2); 
   handler2.setNext(handler3); 
   //提交請求 
   Response response = handler.handleMessage(new Request()); 
 } 
} 

總結(jié)

以上就是本文關(guān)于Java責(zé)任鏈模式模板代碼分享的全部內(nèi)容,希望對大家有所幫助。感興趣的朋友可以繼續(xù)參閱本站其他相關(guān)專題,如有不足之處,歡迎留言指出。感謝朋友們對本站的支持!

相關(guān)文章

  • Java接口統(tǒng)一樣式返回模板簡介

    Java接口統(tǒng)一樣式返回模板簡介

    這篇文章主要介紹了Java接口統(tǒng)一樣式返回模板簡介,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-10-10
  • MyBatis-Plus?中?typeHandler?的使用實(shí)例詳解

    MyBatis-Plus?中?typeHandler?的使用實(shí)例詳解

    本文介紹了在MyBatis-Plus中如何使用typeHandler處理json格式字段和自定義typeHandler,通過使用JacksonTypeHandler,可以簡單實(shí)現(xiàn)將實(shí)體類字段轉(zhuǎn)換為json格式存儲,感興趣的朋友跟隨小編一起看看吧
    2024-10-10
  • 解決Java中SimpleDateFormat線程不安全的五種方案

    解決Java中SimpleDateFormat線程不安全的五種方案

    SimpleDateFormat 就是一個(gè)典型的線程不安全事例,本文主要介紹了解決Java中SimpleDateFormat線程不安全的五種方案,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05
  • 詳解SpringMVC解決跨域的兩種方案

    詳解SpringMVC解決跨域的兩種方案

    本篇文章主要介紹了詳解SpringMVC解決跨域的兩種方案,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-08-08
  • Java多線程Future實(shí)現(xiàn)優(yōu)雅獲取線程的執(zhí)行結(jié)果

    Java多線程Future實(shí)現(xiàn)優(yōu)雅獲取線程的執(zhí)行結(jié)果

    這篇文章主要為大家詳細(xì)介紹了Java如何利用Future實(shí)現(xiàn)優(yōu)雅獲取線程的執(zhí)行結(jié)果,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-07-07
  • IDEA中如何引入spring的命名空間

    IDEA中如何引入spring的命名空間

    這篇文章主要介紹了IDEA中如何引入spring的命名空間問題,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • Java讀寫鎖ReadWriteLock的創(chuàng)建使用及測試分析示例詳解

    Java讀寫鎖ReadWriteLock的創(chuàng)建使用及測試分析示例詳解

    這篇文章主要為大家介紹了Java讀寫鎖ReadWriteLock的創(chuàng)建使用及測試分析示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • java Unsafe詳細(xì)解析

    java Unsafe詳細(xì)解析

    Unsafe為我們提供了訪問底層的機(jī)制,這種機(jī)制僅供java核心類庫使用,而不應(yīng)該被普通用戶使用。但是,為了更好地了解java的生態(tài)體系,我們應(yīng)該去學(xué)習(xí)它,去了解它,不求深入到底層的C/C++代碼,但求能了解它的基本功能。下面小編來和大家一起學(xué)習(xí)
    2019-05-05
  • jfinal中stateless模式嵌入shiro驗(yàn)證的實(shí)現(xiàn)方式

    jfinal中stateless模式嵌入shiro驗(yàn)證的實(shí)現(xiàn)方式

    這篇文章主要介紹了jfinal中stateless模式嵌入shiro驗(yàn)證,今天,我們就來嘗試一種通過攔截器來實(shí)現(xiàn)的Stateless Jfinal嵌入方式,需要的朋友可以參考下
    2022-06-06
  • Java多線程之并發(fā)編程的基石CAS機(jī)制詳解

    Java多線程之并發(fā)編程的基石CAS機(jī)制詳解

    這篇文章主要介紹了java并發(fā)編程之cas詳解,涉及cas使用場景和cas用作原子操作等內(nèi)容,具有一定參考價(jià)值,需要的朋友可以了解下
    2021-09-09

最新評論

徐闻县| 铁岭市| 兴隆县| 额尔古纳市| 金溪县| 兴文县| 舒城县| 青铜峡市| 海城市| 高台县| 板桥市| 准格尔旗| 孟连| 抚松县| 乳源| 体育| 高安市| 定襄县| 乌拉特中旗| 盐池县| 佛坪县| 弥勒县| 浮山县| 昌吉市| 洪泽县| 昭觉县| 应城市| 岑巩县| 宝鸡市| 桑日县| 玉环县| 静乐县| 九龙坡区| 水富县| 宣汉县| 庆云县| 丰原市| 余庆县| 定州市| 安远县| 高州市|