国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術(shù)|正則表達(dá)式|C/C++|IOS|C#|Swift|Android|VB|R語(yǔ)言|JavaScript|易語(yǔ)言|vb.net|

服務(wù)器之家 - 編程語(yǔ)言 - Java教程 - Java責(zé)任鏈模式定義與用法分析

Java責(zé)任鏈模式定義與用法分析

2020-11-10 16:37qq7342272 Java教程

這篇文章主要介紹了Java責(zé)任鏈模式定義與用法,結(jié)合具體實(shí)例分析了java責(zé)任鏈模式的功能、定義、使用方法、適用情況等,需要的朋友可以參考下

本文實(shí)例講述了Java責(zé)任鏈模式定義與用法。分享給大家供大家參考,具體如下:

使很多對(duì)象都有處理請(qǐng)求的機(jī)會(huì),從而避免請(qǐng)求的發(fā)送者和接受者之間的耦合關(guān)系。將這些對(duì)象連成一條鏈,并沿著這條鏈傳遞該請(qǐng)求,直到有一個(gè)對(duì)象處理它為止

責(zé)任鏈模式主要包括以下幾個(gè)角色

1、處理者:處理者是一個(gè)接口,負(fù)責(zé)規(guī)定具體處理者處理用戶請(qǐng)求的方法以及具體處理者設(shè)置后繼處理對(duì)象的方法

2、具體處理者:具體處理者是實(shí)現(xiàn)處理接口的類的實(shí)例,具體處理者通過(guò)調(diào)用處理接口規(guī)定的方法處理用戶的請(qǐng)求,既在接到用戶的請(qǐng)求后,處理者將調(diào)用接口規(guī)定的方法,在執(zhí)行該方法的過(guò)程中,如果發(fā)現(xiàn)能處理用戶的請(qǐng)求,就處理用戶的請(qǐng)求。如果發(fā)現(xiàn)處理不了就交給下一個(gè)處理者進(jìn)行處理。

例如一個(gè)圖書檢索的程序,根據(jù)圖書類別將圖書分為了N個(gè)種類,然后創(chuàng)建若干個(gè)種類的對(duì)象,每個(gè)對(duì)象對(duì)一個(gè)種類進(jìn)行檢索。為了能更好的管理這些對(duì)象,可以將這額對(duì)象組織成一個(gè)責(zé)任鏈,當(dāng)用戶需要鑒定書籍時(shí),系統(tǒng)可以讓責(zé)任鏈上的第一個(gè)對(duì)象來(lái)處理用戶的請(qǐng)求,這個(gè)對(duì)象首先檢索自己是否能夠處理用戶的請(qǐng)求,如果能處理就反饋并返回處理內(nèi)容。如果不能處理則交給下一個(gè)處理對(duì)象進(jìn)行處理。

?
1
2
3
4
5
6
7
8
9
10
11
12
package org.zhy.design.demo;
/**
 * 處理接口
 * @author zhengyi
 *
 */
public interface Handler {
  //根據(jù)書的ID進(jìn)行檢索
  public abstract void Search(int id);
  //下一個(gè)處理者 參數(shù)為實(shí)現(xiàn)處理接口的實(shí)現(xiàn)類
  public abstract void nextHandler(Handler han);
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package org.zhy.design.demo;
import java.util.ArrayList;
import java.util.List;
/**
 * 文學(xué)類的書籍檢索
 * @author zhengyi
 *
 */
public class WenXue implements Handler{
  private Handler han;//下一個(gè)處理者
  private List<Integer> list; //模擬文學(xué)類書籍的編號(hào)
  public WenXue(){
    list=new ArrayList<Integer>();
    list.add(1);
    list.add(2);
    list.add(3);
    list.add(4);
    list.add(5);
  }
  @Override
  public void nextHandler(Handler han) {
    this.han=han; //給下一個(gè)處理者賦值
  }
  @Override
  public void Search(int id) {
    if(list.contains(id)){ //檢索list中是否存在此ID的書籍,如果存在則打印
      System.out.println("恭喜您,您檢索的書籍是文學(xué)類的");
    }else{ //如果沒有此書籍則交給下一個(gè)處理者進(jìn)行處理
      if(han!=null){
        han.Search(id);
      }
    }
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
package org.zhy.design.demo;
import java.util.ArrayList;
import java.util.List;
/**
 * 計(jì)算機(jī)類的書籍
 * @author zhengyi
 *
 */
public class JiSuanJi implements Handler {
  private Handler han;
  private List<Integer> list;
  public JiSuanJi(){
    list=new ArrayList<Integer>();
    list.add(6);
    list.add(7);
    list.add(8);
    list.add(9);
    list.add(10);
  }
  @Override
  public void nextHandler(Handler han) {
    this.han=han;
  }
  @Override
  public void Search(int id) {
    if(list.contains(id)){
      System.out.println("恭喜你,此書記在計(jì)算機(jī)類");
    }else{
      if(han!=null){
        han.Search(id);
      }
    }
  }
}
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
package org.zhy.design.demo;
public class Appliction {
  private Handler jisuanji,wenxue;
  public void createHandler(){
    jisuanji=new JiSuanJi();
    wenxue=new WenXue();
    jisuanji.nextHandler(wenxue); //指定下一個(gè)處理者
  }
  public void search(int id){
    jisuanji.Search(id); //第一個(gè)處理者進(jìn)行篩選處理
  }
  public static void main(String[] args) {
    Appliction app=new Appliction();
    app.createHandler();
    app.search(10);
  }
}

適合使用責(zé)任鏈模式的情況

1、在許多對(duì)象可以處理用戶請(qǐng)求的時(shí)候

2、希望用戶不必明確處理者的時(shí)候,同時(shí)向多個(gè)處理者發(fā)送請(qǐng)求

3、程序希望動(dòng)態(tài)的訂制可處理用戶請(qǐng)求的集合對(duì)象

希望本文所述對(duì)大家java程序設(shè)計(jì)有所幫助。

延伸 · 閱讀

精彩推薦
Weibo Article 1 Weibo Article 2 Weibo Article 3 Weibo Article 4 Weibo Article 5 Weibo Article 6 Weibo Article 7 Weibo Article 8 Weibo Article 9 Weibo Article 10 Weibo Article 11 Weibo Article 12 Weibo Article 13 Weibo Article 14 Weibo Article 15 Weibo Article 16 Weibo Article 17 Weibo Article 18 Weibo Article 19 Weibo Article 20 Weibo Article 21 Weibo Article 22 Weibo Article 23 Weibo Article 24 Weibo Article 25 Weibo Article 26 Weibo Article 27 Weibo Article 28 Weibo Article 29 Weibo Article 30 Weibo Article 31 Weibo Article 32 Weibo Article 33 Weibo Article 34 Weibo Article 35 Weibo Article 36 Weibo Article 37 Weibo Article 38 Weibo Article 39 Weibo Article 40
主站蜘蛛池模板: 国产高清视频一区二区 | 日本在线观看 | 亚洲精品综合 | 黄色欧美视频 | 一区二区三区久久 | 免费污视频在线 | 一级特黄录像免费播放全99 | 欧美日韩一二三区 | 亚洲一区在线免费观看 | 亚洲视频自拍 | 国产精品久久久久久av公交车 | 欧美日本免费一区二区三区 | 最新日韩免费 | 亚洲福利电影网 | 亚洲综合视频在线观看 | 国产 欧美 日韩 一区 | 黄色片网站在线看 | 精品日韩一区二区 | 日本成人| 欧美三级电影在线播放 | 日本不卡高字幕在线2019 | 综合色吧| 国产精品久久久久久久久久免费 | 国内精品一区二区 | 中文字幕一区二区三区精彩视频 | 久久99精品国产麻豆婷婷洗澡 | 国产精品永久免费自在线观看 | 午夜精品在线 | 欧美日韩国产一区 | 国产精品成人国产乱一区 | 不卡视频一区二区 | 欧美在线观看一区 | 日本精品一区二区三区视频 | 男人天堂a| 黄色免费观看网站 | 欧美专区在线 | 男人的天堂久久 | 日韩成人片 | 中文字幕在线一区二区三区 | 成人片在线播放 | 超碰日韩 |