|
职责链模式使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系.将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对明处理它为止。 职责链模式的结果如下图: .
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判断.这对于程序的维护来说是相当麻烦的.如果我们使用职责链模式的话就可以相当简单了. 先说说我们的设计思想. 我们可以采用职责链完成所得税的计算,由职责链上的一个对象负责计算某一段的所得税.如果符合计算条件,则计算;否则由下一个对象计算.这里我们把核心的代码写出来。 |
![]()
![]()
Java 开发工具 | 无盘资料 | 显卡行情 | IIS相关 | 网站安全论文 | PageMaker | Ghost | 网络设备评测 | IMail Server | 操作系统 | 冲浪网赚 | 影音工具 | 视频处理 | FreeBSD | 服务器安全技术 | 台式电脑导购 | DHCP教程 | Nero | MSN | MCDBA | 系统清理 | 电子商务考试 | 备份恢复 | VC/C++ | JDBC/JDO | 图像设计 | 办公打印新闻 | Windows Server 2003 | Jvm技术 | ASP脚本注入
• 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掌门贝克斯托姆煽动性言论遭谴责