当前位置: 首页 > news >正文

南京设计网站的公司贵州公司网站开发

南京设计网站的公司,贵州公司网站开发,seo站长之家,南宁做网站方案一、定义:属于行为型设计模式,包含传递的数据、创建处理的抽象和实现、创建链条、将数据传递给顶端节点; 二、UML图 三、实现 1、需要传递处理的数据类 import java.util.Date;/*** 需要处理的数据信息*/ public class RequestData {priva…

一、定义:属于行为型设计模式,包含传递的数据、创建处理的抽象和实现、创建链条、将数据传递给顶端节点;

二、UML图

三、实现

1、需要传递处理的数据类

import java.util.Date;/*** 需要处理的数据信息*/
public class RequestData {private Long id;private String message;private Date date;public Long getId() {return id;}public void setId(Long id) {this.id = id;}public String getMessage() {return message;}public void setMessage(String message) {this.message = message;}public Date getDate() {return date;}public void setDate(Date date) {this.date = date;}@Overridepublic String toString() {return "RequestData{" +"id=" + id +", message='" + message + '\'' +", date=" + date +'}';}
}

2、抽象处理类(也可以是接口)

public abstract class AbstractRequestDataHandler {                                     protected AbstractRequestDataHandler next;                                         public AbstractRequestDataHandler getNext() {                                      return next;                                                                   }                                                                                  public void setNext(AbstractRequestDataHandler next) {                             this.next = next;                                                              }                                                                                  /**                                                                                * 抽象的处理方法,传入需要处理的数据类                                                              *                                                                                 * @param data                                                                     */                                                                                public abstract void handler(RequestData data);                                    }                                                                                      

3、具体处理实现


public class RequestDataHandlerA extends AbstractRequestDataHandler {@Overridepublic void handler(RequestData data) {System.out.println("处理类A!");String message = data.getMessage().replace("A", "");data.setMessage(message);if (next != null) {next.handler(data);} else {System.out.println("终止执行");}}
}
public class RequestDataHandlerB extends AbstractRequestDataHandler {@Overridepublic void handler(RequestData data) {System.out.println("处理类B!");String message = data.getMessage().replace("B", "");data.setMessage(message);if (next != null) {next.handler(data);} else {System.out.println("终止执行");}}
}

public class RequestDataHandlerC extends AbstractRequestDataHandler {@Overridepublic void handler(RequestData data) {System.out.println("处理类C!");String message = data.getMessage().replace("C", "");data.setMessage(message);if (next != null) {next.handler(data);} else {System.out.println("终止执行");}}
}

4、客户端

public class ChainResponsibilityClient {public static void main(String[] args) {AbstractRequestDataHandler handler1 = new RequestDataHandlerA();AbstractRequestDataHandler handler2 = new RequestDataHandlerB();AbstractRequestDataHandler handler3 = new RequestDataHandlerC();//生成调用链条handler1.setNext(handler2);handler2.setNext(handler3);//把数据交给handler1处理即可,不需要关心h2和h3怎么处理的RequestData requestData = new RequestData();requestData.setMessage("ABCDE");handler1.handler(requestData);System.out.println(requestData.getMessage());}
}

四、责任链模式需要注意的地方

1、循环调用,比如下列代码会造成循环调用:

  //生成调用链条handler1.setNext(handler2);handler2.setNext(handler3);handler3.setNext(handler1);

2、链条太长可能会导致的性能问题

3、责任链的顶端和低端节点之间不应该存在耦合问题

http://www.yayakq.cn/news/950638/

相关文章:

  • WordPress站内链接设置产品线上推广渠道
  • 企业宣传手册模板免费西安做网站优化的公司
  • 福建网站建设网站建设价格标签
  • 石家庄网站建设报价网页版的微信
  • 表白网站制作器如何做网站的二级页面
  • 如果做夺宝网站软件公司
  • 企业网站建设市场报价主机服务器网站 怎么做
  • 语文建设投稿网站购物网站免费模板
  • 广东建设教育协会网站网络工程毕设做网站
  • 大气物流网站源码做相框的网站
  • 网站建设订单模板下载平面设计免费网站推荐
  • 网站的设计风格湖州企业网站开发公司
  • 南京做企业网站公司哪家好建设一个公司网站大概多少钱
  • 服务流程企业网站具有设计感的网站
  • 球迷类的网站如何做30个游戏链接
  • 网站建设网站营销网站托管一体化山东网络推广网站
  • php网站维护乐享黔程是什么公司
  • 做的最成功的个人网站公司要网站建设
  • 网站建设力度不够论文wordpress影院404
  • 现在学网站开发深圳互联时空网站优化怎么样
  • 做网站怎么加水平线做网站设计工作的报告书
  • 郑州做网站锐不定期更新域名
  • 花卉电子商务网站开发如何做网站互链规则
  • 家具网站开发设计任务书东阳网站推广
  • 安防公司网站模板建设网站用哪个好
  • 优秀设计赏析网站电子商务网站建设与实践上机指导教程
  • jquery做的网站外贸响应式网站建设
  • iis 如何搭建网站西宁百度seo
  • 临沂市罗庄区住房和建设局网站建设c2c网站需要多少投资
  • 商业网站成功的原因批量更新wordpress文章