日韩性视频-久久久蜜桃-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)模式简介的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 天天摸日日摸 | 亚洲性大片 | 国产精品视频在线免费观看 | 中文字幕人妻熟女在线 | 亚洲精品乱码久久久久久日本蜜臀 | 亚洲成a人片77777kkkk | 西方av在线 | 91精品国产乱码久久久张津瑜 | 97在线免费观看视频 | 99riAv国产精品无码鲁大师 | 肥臀熟女一区二区三区 | 亚洲第一区av | 国产精品第八页 | 欧美不卡视频 | 永久黄网站 | 韩国在线不卡 | 国产专区一 | 日日麻批免费视频播放 | 午夜影院性| 啪啪自拍视频 | 成人福利院| 亚洲第六页 | 欧洲亚洲一区二区 | 中文字幕亚洲色图 | 国产免费一区二区三区最新6 | 美痴女~美人上司北岛玲 | 爱爱小视频网站 | 91蜜臀精品国产自偷在线 | 水蜜桃亚洲精品 | 精品一区二区三区免费毛片爱 | 国产在线v | 黄色一级在线视频 | 亚洲av人人夜夜澡人人 | 黄色操人视频 | 色黄大色黄女片免费中国 | 朋友人妻少妇精品系列 | 男ji大巴进入女人视频 | 欧美日本国产 | 国产精品综合视频 | 日本欧美中文字幕 | 韩国视频一区二区 | www国产亚洲精品久久麻豆 | 日韩精品一区二区不卡 | 一个人看的www片免费高清中文 | 魔女鞋交玉足榨精调教 | 精品人妻一区二区三区含羞草 | 99久久久国产精品无码性 | 高h文在线 | 伊人网狼人 | 午夜在线视频观看 | 四虎在线播放 | 午夜剧场成人 | 亚洲久久久久 | 秋霞av网| 在线播放中文字幕 | 日韩色图在线观看 | 夜夜嗨老熟女av一区二区三区 | 九九福利视频 | 久草资源在线视频 | 亚洲精品欧美精品 | 亚洲国产欧美日韩在线 | 91福利在线观看 | 青青视频免费在线观看 | 毛片在线免费观看网站 | 国产夫绿帽单男3p精品视频 | 日本猛少妇色xxxxx猛叫 | 日本一区二区网站 | 偷拍超碰 | 免费在线观看黄视频 | 国产成人一区在线观看 | 人妻av一区二区 | 国产精品视频 | 无码人妻精品一区二 | 国产网站黄色 | 欧美精品小视频 | 久综合网 | 天堂av亚洲av国产av电影 | 久草福利资源 | 欧美一卡二卡三卡四卡 | 中文字幕一二三四区 | 国产精品自拍视频一区 | 日韩激情视频网站 | 一级黄色播放 | 操欧美女 | 午夜啪啪网站 | 精品久| 色在线影院 | 国产精品毛片久久久久久 | 成人看片网 | 香蕉视频A | 一级片视频免费观看 | 男女视频在线 | 4438x全国最大成人 | 免费在线观看黄色 | www精品一区二区三区 | 日本三级视频在线播放 | 亚洲成人伦理 | 国产成人精品在线播放 | 欧美天堂在线 |