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

歡迎訪問 生活随笔!

生活随笔

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

asp.net

《研磨设计模式》chap23 职责链模式chainOfResponsibility(1)模式简介

發布時間:2025/3/21 asp.net 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 《研磨设计模式》chap23 职责链模式chainOfResponsibility(1)模式简介 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

場景:申請經費,有好幾個領導審批,項目經理、部門經理、總經理,最后總會有一個人回復審批結果。

1. 正常編碼

public class FeeRequest {//提交聚餐費用申請給項目經理 public String requestToProjectManager(String user,double fee){String str = "";if(fee < 500){//項目經理的權限比較小,只能在500以內str = this.projectHandle(user, fee);}else if(fee < 1000){//部門經理的權限只能在1000以內str = this.depManagerHandle(user, fee);}else if(fee >= 1000){//總經理的權限很大,只要請求到了這里,他都可以處理str = this.generalManagerHandle(user, fee);}return str;}//項目經理審批費用申請,參數、返回值和上面是一樣的,省略了 private String projectHandle(String user, double fee) {String str = "";//為了測試,簡單點,只同意小李的if("小李".equals(user)){str = "項目經理同意"+user+"聚餐費用"+fee+"元的請求";}else{//其他人一律不同意str = "項目經理不同意"+user+"聚餐費用"+fee+"元的請求";}return str;}//部門經理審批費用申請,參數、返回值和上面是一樣的,省略了 private String depManagerHandle(String user, double fee) {String str = "";//為了測試,簡單點,只同意小李申請的if("小李".equals(user)){str = "部門經理同意"+user+"聚餐費用"+fee+"元的請求";}else{//其他人一律不同意str= "部門經理不同意"+user+"聚餐費用"+fee+"元的請求";}return str;}//總經理審批費用申請,參數、返回值和上面是一樣的,省略了 private String generalManagerHandle(String user, double fee) {String str = "";//為了測試,簡單點,只同意小李的if("小李".equals(user)){str = "總經理同意"+user+"聚餐費用"+fee+"元的請求";}else{//其他人一律不同意str = "總經理不同意"+user+"聚餐費用"+fee+"元的請求";}return str;} }public class Client {public static void main(String[] args) {FeeRequest request = new FeeRequest();//開始測試String ret1 = request.requestToProjectManager("小李", 300);System.out.println("the ret1="+ret1); String ret2 = request.requestToProjectManager("小張", 300);System.out.println("the ret2="+ret2);String ret3 = request.requestToProjectManager("小李", 600);System.out.println("the ret3="+ret3); String ret4 = request.requestToProjectManager("小張", 600);System.out.println("the ret4="+ret4);String ret5 = request.requestToProjectManager("小李", 1200);System.out.println("the ret5="+ret5); String ret6 = request.requestToProjectManager("小張", 1200);System.out.println("the ret6="+ret6);} }

抽象問題:客戶端發出一個請求,會有很多對象都可以來處理這個請求,而且不同對象的處理邏輯是不一樣的。還希望處理流程是可以靈活變動的,而處理請求的對象需要能方便地修改或者是被替換掉,以適應新的業務功能的需要。

2. 模式介紹

public abstract class Handler { protected Handler successor; //持有后繼的職責對象 //設置后繼的職責對象 public void setSuccessor(Handler successor) {this.successor = successor;}//持有后繼的職責對象 示意處理請求的方法,雖然這個示意方法是沒有傳入參數,但實際是可以傳入參數的,根據具體需要來選擇是否傳遞參數 public abstract void handleRequest(); }public class ConcreteHandler1 extends Handler {public void handleRequest() {//根據某些條件來判斷是否屬于自己處理的職責范圍//判斷條件比如:從外部傳入的參數,或者這里主動去獲取的外部數據,//如從數據庫中獲取等,下面這句話只是個示意boolean someCondition = false;if(someCondition){//如果屬于自己處理的職責范圍,就在這里處理請求//具體的處理代碼System.out.println("ConcreteHandler1 handle request");}else{//如果不屬于自己處理的職責范圍,那就判斷是否還有后繼的職責對象//如果有,就轉發請求給后繼的職責對象//如果沒有,什么都不做,自然結束if(this.successor!=null){this.successor.handleRequest();}}} }public class ConcreteHandler2 extends Handler { ... }public class Client {public static void main(String[] args) {//先要組裝職責鏈Handler h1 = new ConcreteHandler1();Handler h2 = new ConcreteHandler2();h1.setSuccessor(h2); //然后提交請求h1.handleRequest();} }

總結

以上是生活随笔為你收集整理的《研磨设计模式》chap23 职责链模式chainOfResponsibility(1)模式简介的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: www.色多多 | 国产成人在线一区二区 | 国产内射老熟女aaaa∵ | 人妻少妇久久中文字幕 | 亚洲欧美高清 | 国产福利第一页 | 九九精品免费 | 色天天| 亚洲日本视频 | 国产传媒国产传媒 | 国产电影一区二区三区 | 中文字幕色图 | 亚洲天堂女人 | 天天操天天干视频 | 欧美日本在线播放 | av综合站 | 国产福利不卡 | 91网站在线免费观看 | 日韩精品成人免费观看视频 | 久久a级片 | 大奶在线观看 | 无码人妻精品一区二区三区温州 | 青青草原亚洲视频 | 亚洲成人18 | 国产另类专区 | 亚洲色图综合 | 亚洲av色区一区二区三区 | 在线视频日韩精品 | www.色香蕉 | 在线观看一区二区三区四区 | 日韩在线不卡 | 久久精品毛片 | 国产精品av在线 | 四川少妇xxx奶大xxx | 欧美日韩xxxx | 久热这里只有精品在线 | 9.1成人看片 | 国产人妻人伦精品1国产 | 国产成人在线观看免费 | 另类一区 | 这里只有精品视频在线观看 | 国产欧美日韩精品一区 | 国产福利在线看 | 欧美成人另类 | 99热这里只 | 成人午夜激情网 | 国产乱人| av不卡在线观看 | 国产成人一级 | 一本大道东京热无码 | 91免费福利 | 亚洲欧美精品aaaaaa片 | 深夜网站在线观看 | 日本成人在线免费 | av大帝在线观看 | 日本乱子伦 | 黄色网址在线免费看 | 欧美第一页在线观看 | 先锋资源av在线 | 国产亚洲av在线 | 91精品国产色综合久久不卡粉嫩 | 日韩av一| 色www国产亚洲阿娇 自拍一区在线 | 91免费网站视频 | 亚洲av无码国产在丝袜线观看 | 黄色网址视频 | 波多一区二区 | 视频在线观看免费大片 | 久久成人18免费观看 | 99re在线视频精品 | 免费成人黄色网址 | 19韩国主播青草vip | いいなり北条麻妃av101 | 国产偷拍一区二区三区 | 日韩av网站大全 | 国产伦精品一区二区三区免费视频 | 亚洲第一视频区 | 中文在线亚洲 | 久久精品视屏 | 国精产品一区一区三区 | 男生草女生视频 | 国产男女猛烈无遮挡免费视频 | 激情啪啪网站 | 欧美性生活xxx | 爱爱一区 | 亚洲精品国产熟女久久久 | 日韩中文娱乐网 | 任你操精品视频 | 日本在线视频播放 | 国产精品乱码 | 丰满饥渴老女人hd | 中文字幕av高清片 | 日本高清不卡二区 | 欧美狂猛xxxxx乱大交3 | 亚洲人吸女人奶水 | 久久高清内射无套 | 亚洲国产精品成人综合色在线婷婷 | 国产精品69久久久久孕妇欧美 | 久久免费福利视频 |