国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

淺談.NET中的職責鏈模式的使用

開發 后端
本篇文章淺談.NET中的職責鏈模式的使用。職責鏈模式使多個對象都有機會處理請求,從而避免請求的發送者和接收者之間的耦合關系。

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

職責鏈模式的結果如下圖

職責鏈模式 

Handler:定義一個處理請求的接口并實現后繼鏈.

ConcreteHandler:處理負責的請求并可訪問后繼者.如果可處理該請求,則處理之,否則將該請求轉發給后繼者.

Client:向鏈上的具體處理者對象提交請求.

在這里先用一個簡單的例子計算所得稅來說明一下職責鏈模式在應用中的作用

先簡要的說一下計算所得稅的方法:

以成都為例:

計算金額----------------------應納稅額---------個稅率
1、2000元/月以內免稅;
2、2000元/月以上至2500元/月----不超過500元----5%
3、2500元/月以上至4000元/月----500元至2000元----10%
4、4000元/月以上至7000元/月----2000元至5000元----15%
5、7000元/月以上至22000元/月----5000元至20000元----20%
6、22000元/月以上至42000元/月----20000元至40000元----25%
7、42000元/月以上至62000元/月----40000元至60000元----30%
8、62000元/月以上至82000元/月----60000元至80000元----35%
9、82000元/月以上至102000元/月----80000元至100000元----40%
10、102000元/月以上----100000元以上----45%

(工資-2000)*相應工資范圍的個稅率

當你看到這樣的一個計算方式之后你心里是不是已經有了自己的想法了?寫一系列的if語句來一條條的判斷.但這樣的寫法雖然可以實現目前的需求,可如果當稅率發生了變化你又得拿出你的程序一步一步的修改.如果if語句的條數發生變化的話我們還必須在代碼中添加必要的if判斷.這對于程序的維護來說是相當麻煩的.如果我們使用職責鏈模式的話就可以相當簡單了.

先說說我們的設計思想.

我們可以采用職責鏈完成所得稅的計算,由職責鏈上的一個對象負責計算某一段的所得稅.如果符合計算條件,則計算;否則由下一個對象計算.這里我們把核心的代碼寫出來

  1. using System;  
  2. using System.Collections.Generic;  
  3. using System.Linq;  
  4. using System.Text;  
  5.  
  6. namespace CompTax  
  7. {  
  8.     public class CompTax  
  9.     {  
  10.         private double Taxp;  
  11.         private double Minincome;  
  12.         private static double Disc=2000;  
  13.         private CompTax NextCompTax;  
  14.         public CompTax(double Minincome, double Taxp)  
  15.         {  
  16.             this.Minincome = Minincome;  
  17.             this.Taxp = Taxp;  
  18.             NextCompTax = null;  
  19.         }  
  20.         public double Comp(double income)  
  21.         {  
  22.  
  23.             if(income > Minincome && (NextCompTax==null|| income< NextCompTax.Minincome))  
  24.             {  
  25.                 return (income - Disc) * Taxp;  
  26.             }  
  27.             else 
  28.             {  
  29.                 return NextCompTax.Comp(income);  
  30.             }  
  31.         }  
  32.  
  33.         public static CompTax GetInstance()  
  34.         {  
  35.             CompTax[] cp ={  
  36.                              new CompTax(2000,0.05),  
  37.                              new CompTax(2500,0.1),  
  38.                              new CompTax(4000,0.15),  
  39.                              new CompTax(7000,0.2),  
  40.                              new CompTax(22000,0.25),  
  41.                              new CompTax(42000,0.3),  
  42.                              new CompTax(62000,0.35),  
  43.                              new CompTax(82000,0.4),  
  44.                              new CompTax(102000,0.45)  
  45.                          };  
  46.             CompTax ct=null;  
  47.             for (int i = 0; i < cp.Length-1; i++)  
  48.             {  
  49.                 if (i == 0)  
  50.                     ct = cp[i];  
  51.                 cp[i].NextCompTax = cp[i + 1];  
  52.             }  
  53.             return ct;  
  54.         }  
  55.     }  
  56. }  

然后在頁面上去調用.

  1. private void button1_Click(object sender, EventArgs e)  
  2. {  
  3.     textBox2.Text = CompTax.GetInstance().Comp(double.Parse(textBox1.Text)).ToString();  

這樣我們在GetInstance靜態方法中把處理各種的可能連接了起來.如果***個對象不能滿足就用下一個對象來處理.一直直到能到處理為止.

在這里我們可以把cp這個數組從配置文件中讀取,這樣就實現了動態配置.

說到這個我們還有很多地方可以用到這樣的設計模式.比如我們會員積分功能的時候,當積分到了多少就可以做什么事等等也可以用職責鏈輕松解決了.

【編輯推薦】

  1. 淺談C#泛型的用處
  2. .Net平臺開源項目五年發展回顧
  3. .Net平臺下的分布式緩存設計
  4. .NET平臺上Web開發的未來?
  5. 微軟.NET平臺中類型使用的基本原理
責任編輯:yangsai 來源: .Net 技術學習博客
相關推薦

2011-07-20 14:04:42

.NET策略模式

2009-01-16 13:17:16

AjaxASP.NET.NET

2011-06-28 09:51:08

.NET對象相等

2009-07-27 13:01:28

TreeViewASP.NET

2022-10-09 14:15:42

短鏈設計

2023-05-12 12:09:38

職責鏈模式客服

2021-03-25 16:34:10

區塊鏈加密資產技術

2021-02-01 11:24:43

區塊鏈私鑰數字貨幣

2009-05-26 09:09:50

.NET FramewStream.Read基礎類

2009-07-22 17:07:16

WPF插件開發.NET Framew

2010-01-21 09:08:53

.NET設計模式

2015-08-21 10:36:32

.NETRedis

2009-06-22 10:34:43

Boost庫lambda

2009-07-23 15:44:39

ASP.NET MVC

2012-04-24 09:55:29

.NET

2011-01-28 09:45:29

ASP.NET MVC

2023-09-28 08:45:56

開源責任鏈模式

2009-07-07 10:44:14

多態

2009-06-23 11:49:22

跨進程消息鉤子VB.NET

2010-05-20 08:50:45

UrlRoutingASP.NET 4.0
點贊
收藏

51CTO技術棧公眾號

精品中文字幕一区二区| 亚洲精品欧美| 97精品一区二区视频在线观看| 成年男女免费视频网站不卡| 日韩欧美色综合网站| 日韩高清一区| 精品久久久久久亚洲| av成人免费在线观看| 日本搞黄视频| 欧美一区二区播放| 韩国女主播一区二区三区| 国产精品日韩二区| 国产精品中文字幕一区二区三区| 色播五月综合网| 欧美一区二区三区视频免费播放 | 亚洲日本中文字幕| 欧美日韩精品在线一区| 男女爱爱视频网站| 欧美乱熟臀69xxxxxx| 精品伊人久久久| www.黄色网址.com| 色综合久久88色综合天天免费| 免费成人高清在线视频| 久久久久久高清| 亚洲福中文字幕伊人影院| 精品一区二区三区中文字幕在线 | 久久精品夜夜夜夜久久| www久久日com| 91网站在线看| 国产精品久久久久久久久免费樱桃| 牛牛电影国产一区二区| 2022国产精品| 亚洲精品videosex极品| 成人高潮a毛片免费观看网站| 日本a级片免费观看| 日韩欧美色综合网站| 亚洲精品三级| 中文字幕中文字幕在线中文字幕三区 | 国产美女99p| 日韩欧美成人精品| 偷拍欧美精品| 亚洲а∨精品天堂在线| 欧美中文字幕在线| 一区二区三区影院| 欧美人与拘性视交免费看| 牛夜精品久久久久久久| 久久91精品国产91久久久| 成人免费视频播放| 日韩成人在线观看视频| av天天在线| 成人午夜黄色影院| 色噜噜狠狠成人网p站| 亚洲性人人天天夜夜摸| 久久精品视频观看| 国产 欧美 日本| 久久er99精品| 午夜免费福利在线观看| 亚洲最大色综合成人av| 亚洲丝袜在线视频| 亚洲啪啪综合av一区二区三区| 久久国产亚洲精品| 韩国成人免费视频| 国产 日韩 欧美在线| 欧美精品一区三区| 亚洲成在线观看| 亚洲免费在线| 国产精品17p| 乱子伦一区二区| 夜夜嗨av一区二区三区免费区| 成人久久久精品乱码一区二区三区| 四虎国产精品永久在线国在线| 亚洲永久精品免费| 欧美一区免费视频| 97精品伊人久久久大香线蕉| 欧美在线免费观看亚洲| 国产一区二区成人久久免费影院| av成人在线网站| 十九岁完整版在线观看好看云免费| 日韩在线导航| 国产精品96久久久久久又黄又硬| 6080午夜不卡| 久久久一区二区三区| 国产精品久久久亚洲一区| 国产免费区一区二区三视频免费| 亚洲成人观看| 一本久道中文无码字幕av| 欧美久久久久久一卡四| 国产成人精品电影久久久| 亚洲欧美国产精品久久久久久久| 一区二区三区欧美日韩| 9久草视频在线视频精品| 日韩一级网站| 欧美激情性爽国产精品17p| 岛国精品一区| 最新日韩一区| 波多野结依一区| 超碰公开在线| 里番在线观看网站| 可以免费看污视频的网站在线| 成人网免费视频| 人妻少妇被粗大爽9797pw| 亚洲精品二区| 日本在线一区| 欧美xxxx黑人又粗又长精品| 91成人免费看| 国产欧美日韩高清| 国产精品一区专区欧美日韩| 欧洲中文字幕国产精品| 国产+人+亚洲| 91大神在线播放精品| 欧洲成人免费aa| 成人久久一区二区三区| 成人中文字幕在线观看| 国产一区二区三区色淫影院| 不卡视频一区二区三区| 欧美高清一区二区| 色之综合天天综合色天天棕色| 亚洲国产精品一区在线观看不卡| 欧美一区亚洲二区| 久久国产精品亚洲va麻豆| 国产精品爽黄69天堂a| 97久久夜色精品国产九色 | 亚洲成人二区| 天天综合久久| 久久精品国产久精国产爱| 91一区二区三区在线播放| 中文字幕视频一区二区三区久| 午夜精品国产更新| 日韩一区二区三区视频在线观看| 中文字幕精品国产| 国产97色在线|日韩| www日韩av| 人人妻人人澡人人爽欧美一区双| 欧美性jizz18性欧美| 亚洲日穴在线视频| 欧美在线一二三| 尤物九九久久国产精品的分类| 欧美寡妇偷汉性猛交| 成人国产精品久久久久久亚洲| 另类视频在线观看+1080p| 国产二级片在线观看| 成人免费高清在线播放| 免费一级欧美在线观看视频| av伊人久久| 久久蜜臀精品av| 日韩欧美一区二区三区在线| 欧美综合一区第一页| 中文字幕一区二区中文字幕| 污网站免费在线观看| 二区三区精品| 青青草一区二区三区| 激情成人在线视频| 久久99热这里只有精品国产| 欧洲金发美女大战黑人| 日韩美女一级视频| 国产66精品| 高清av一区二区| 欧美一区二区三区公司| 国产伦精品一区二区三区精品视频| 免费超爽大片黄| 韩日毛片在线观看| 男人的天堂亚洲在线| 日韩欧美中文在线| 成人高h视频在线| 波多野结衣av在线| 国产精品视频3p| 国产区在线观看成人精品| 欧美裸体男粗大视频在线观看| 99久久免费观看| 无人区在线高清完整免费版 一区二| 免费在线亚洲欧美| 欧美三级电影一区| 国产乱码一区| 天堂8中文在线| 另类小说欧美激情| 一二美女精品欧洲| 久久久久人妻精品一区三寸| 国产日韩在线观看视频| 国产精品人妖ts系列视频| 午夜精品久久久久久99热| 嫩草嫩草嫩草嫩草| 久久精品欧美一区| 精品日韩美女的视频高清| 1卡2卡3卡精品视频| 综合久久2o19| 99天天综合性| 国内精品久久久久久久久| 极品白浆推特女神在线观看| 麻豆久久精品| 美女少妇精品视频| 中文字幕在线免费专区| 久久在线精品| 欧美高清自拍一区| 一色桃子在线| 老妇喷水一区二区三区| 欧美裸身视频免费观看| 91se在线| ㊣最新国产の精品bt伙计久久| 国产一区二区免费在线观看| 欧美成人黄色|