栖迩网首页产品报价家电社区栖迩晓得>>驱动下载微软技术更多

热点推荐
主页>社区>IT 技术与微软技术>编程开发>.NET

浅谈.net中的职责链模式的使用_1


原文出处:中国站长站  2009/7/1 22:20:16 阅读 77 次


非续读浏览 | 发布资讯 | 评论 | 置顶 | 打印

职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对明处理它为止。

职责链模式的结果如下图:

.

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判断.这对于程序的维护来说是相当麻烦的.如果我们使用职责链模式的话就可以相当简单了.

先说说我们的设计思想.

我们可以采用职责链完成所得税的计算,由职责链上的一个对象负责计算某一段的所得税.如果符合计算条件,则计算;否则由下一个对象计算.这里我们把核心的代码写出来。


4 页  [1] [2] [3] [4]



相关阅读:
• ASP.NETRouting对请求的处理方式 (2009/9/29 22:54:19)
• 多语言开发的个人体验 (2009/9/27 20:53:47)
• 基于ASP.NET2.0的非HttpModule山寨版MVC框架的实现 (2009/9/22 13:11:05)
• 分页那回事? (2009/9/18 21:51:03)
• 浅析ASP.NET的IIS映射 (2009/9/18 21:50:58)
• 从ASP.NET的PHP执行速度比较谈起 (2009/9/18 21:50:58)
• 软件编程走火入魔之:女人的脸男人的代码 (2009/9/16 22:12:14)
• ASP.NETWebForm页面内容输出方式 (2009/9/16 22:12:13)
• 利用ajax.dll进行asp.netajax开发 (2009/9/3 20:58:16)
• C#编程实现动态生成Word文档 (2009/9/1 19:58:43)
• Asp.net2.0之自定义控件ImageButton (2009/9/1 19:58:43)
• .net程序员,该不该学IL? (2009/9/1 19:58:42)
• 使用.NET正则表达式区分中英文 (2009/8/30 12:49:47)
• ASP.NET开发中关于Web标准的几点建议 (2009/8/30 12:49:47)
• 谈.NET反射的封装 (2009/8/30 12:49:46)
• ASP.NET用户控件说明和添加事件 (2009/8/30 12:49:45)
• .NET4.0改进的介绍 (2009/8/25 21:15:23)
• .Net应用:ASP.NET中使用AJAX中的方式 (2009/8/23 8:02:05)
• .Net基础:ASP.NET中的javascript操作 (2009/8/23 8:02:05)
• ASP.NET2.0服务器控件开发的基本概念 (2009/8/23 8:02:05)

温馨提示


特别声明

• Phontol.com 和网页作者无关,不对网页的内容负责。
• 非本站原创内容和本站转载内容,其版权所有权属于原版权持有人所有。
• 本站转载的部分内容是出于传递更多信息之目的,并不意味着赞同其观点或证实其内容的真实性。
• 如有任何异议,请参见版权声明/免责声明部分。

 
最新热点资讯排行

• 盛大百度挤入电子书市场
• 美国提出10年内基本普及百兆宽带互联网蓝图
• .com域名诞生25周年:每月新增66.8万个
• 宏达电向Verizon提供CDMA版NexusOne
• 植入CMMB芯片个人电脑预计6月在重庆上市
• TD-SCDMA网络让“无线城市”梦想成真
• ipone和android手机或遭重病毒
• 光速WiFi三年内可商用
• 操盘指南:3月16日大陆内存走势报告
• 苹果升级Safari浏览器增加一系列安全补丁
• 微软Excel补丁出错导致英文界面变中文
• 微软将为Symbian测试版提供银光软件
• 诺基亚:Symbian3操作系统拥有多点触控功能
• 欧盟12项行动保障物联网发展
• 三网融合取得新突破CMMB探索与PC终端融合
• ICANN掌门贝克斯托姆煽动性言论遭谴责





Phontol简介 | 广告服务 | 联系我们 | 招聘(月) | 合作媒体 | 意见反馈 | 使用条款 | 隐私权声明 | 版权声明 | 站点地图
欢迎您 反馈留言 批评指正
Copyright © Phontol. All rights reserved. 京ICP备07004242号