网站大量收购闲置独家精品文档,联系QQ:2885784924

责任链模式 2.ppt

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
责任链模式 2

第九章 责任链模式 2018-5-18 1 责任链模式 使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。 Chain of Responsibility Pattern Avoid coupling the sender of a request to its receiver by giving more than one object a chance to handle the request. Chain the receiving objects and pass the request along the chain until an object handles it. 一 、 概述 2018-5-18 2 责任链模式是使用多个对象处理用户请求的成熟模式,责任链模式的关键是将用户的请求分派给许多对象,这些对象被组织成一个责任链,即每个对象含有后继对象的引用,并要求责任链上的每个对象,如果能处理用户的请求,就做出处理,不再将用户的请求传递给责任链上的下一个对象;如果不能处理用户的请求,就必须将用户的请求传递给责任链上的下一个对象。 一 、 实例 2018-5-18 3 用户提交一个人的身份证号码,想知道该人是在北京、上海或者天津居住。 二、责任链模式的结构与使用 2018-5-18 4 模式的结构中包括两种角色: 处理者(Handler) 具体处理者(ConcreteHandler) 2018-5-18 5 模式的UML类图 2018-5-18 6 模式的结构的描述与使用 1.处理者(Handler): Handler.java public interface Handler{ public abstract void handleRequest(String number); public abstract void setNextHandler(Handler handler); } 2018-5-18 7 模式的结构的描述与使用 2.具体处理者(ConcreteHandler)_1: Beijing.java import java.util.*; public class Beijing implements Handler{ private Handler handler; private ArrayListString numberList; Beijing(){ numberList=new ArrayListString(); numberList.add(11129812340930034); numberList.add(10120810340930632); numberList.add(22029812340930034); numberList.add(32620810340930632); } public void handleRequest(String number){ if(numberList.contains(number)) System.out.println(该人在北京居住); else{ System.out.println(该人不在北京居住); if(handler!=null) handler.handleRequest(number); } } public void setNextHandler(Handler handler){ this.handler=handler; } } 2018-5-18 8 模式的结构的描述与使用 2.具体处理者(ConcreteHandler)_2: Shanghai.java import java.util.*; public class Shanghai implements Handler{ private Handler handler; private ArrayListString numberList; Shanghai(){ numberList=new ArrayListString(); numberList.add(3

文档评论(0)

qwd513620855 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档