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

手机网站如何做优化百度推广引流

手机网站如何做优化,百度推广引流,网站建设行业,找别人做网站可靠吗责任链模式 描述基本使用使用 描述 如果一个请求要经过多个类似或相关处理器的处理。 可以考虑将这些处理器添加到一个链上,让请求逐个经过这些处理器进行处理。 通常,在一个业务场景下会对整个责任链进行初始化,确定这个链上有哪些Handler…

责任链模式

  • 描述
    • 基本使用
    • 使用

描述

如果一个请求要经过多个类似或相关处理器的处理。
可以考虑将这些处理器添加到一个链上,让请求逐个经过这些处理器进行处理。

通常,在一个业务场景下会对整个责任链进行初始化,确定这个链上有哪些Handler

关于一个handler处理请求后,请求如何流转通常有几种处理方式:

  • handler有匹配条件
    • 一旦匹配一个handler完成处理后直接返回 后续handler 不会处理i请求
    • 无论是否匹配都执行完整个责任链
  • handler没有匹配条件
    • 这种没有匹配条件的链通常是执行整个责任链

基本使用

这里以有条件匹配,只执行一个handler后就返回的方式举例
匹配的条件通常包含在请求参数中,用于与每个Handler内条件匹配

这里参数就简单定义一个类,不提抽象层了

  • 请求参数
public class HandleRequest {private String type;private Object data;public String getType() {return type;}public void setType(String type) {this.type = type;}public Object getData() {return data;}public void setData(Object data) {this.data = data;}@Overridepublic String toString() {return "HandleRequest{" +"type='" + type + '\'' +", data=" + data +'}';}
}
  • 抽象Handler
public abstract class AbstractHandler {private AbstractHandler nextHandler;public final void handleRequest(HandleRequest request) {if (Objects.equals(handleType(), request.getType())) {this.handle(request);} else {if (this.nextHandler != null) {this.nextHandler.handleRequest(request);} else {System.out.println("请求未匹配到Handler...");}}}public void setNext(AbstractHandler handler) {this.nextHandler = handler;}protected abstract String handleType();protected abstract void handle(HandleRequest request);
}
  • 具体Handler
public class HandlerA extends AbstractHandler {@Overrideprotected String handleType() {return "typeA";}@Overrideprotected void handle(HandleRequest request) {System.out.println("HandlerA 处理请求: " + request);}
}public class HandlerB extends AbstractHandler {@Overrideprotected String handleType() {return "typeB";}@Overrideprotected void handle(HandleRequest request) {System.out.println("HandlerB 处理请求: " + request);}
}

使用

在实际使用中,可以将责任链的初始化动作放到具体业务类中,返回第一个Handler给调用者即可
然后将请求委托给责任链。

这里就直接在调用方 进行初始化

public class Sample {public static void main(String[] args) {AbstractHandler handlerA = new HandlerA();AbstractHandler handlerB = new HandlerB();handlerA.setNext(handlerB);HandleRequest request = new HandleRequest();request.setType("typeB");request.setData("data.....");handlerA.handleRequest(request);}
}
http://www.dtcms.com/wzjs/327585.html

相关文章:

  • 建设一个网站需要哪些步骤seo程序专员
  • 网站制作运营百度指数查询
  • 网站建设用素材网上seo研究
  • 企业网站建设国内外研究状况seo产品是什么意思
  • 建设企业网站需要哪些东西正规考证培训机构
  • 网站建设报价明细表网站建设报价单模板
  • 做钢材什么网站好网络服务商主要包括哪些
  • 青秀区网站建设网络推广工作怎么样
  • 政府网站建设的基本情况指数型基金是什么意思
  • dw网页设计软件的学习网站重庆seo排名
  • 网站如何做标题优化软文平台有哪些
  • 网站建设及网站推广什么是软文推广
  • 织梦做的网站如何修改电商运营培训班多少钱
  • 网页设计基础教程视频教程郑州技术支持seo
  • 网上做网站任务关键词优化公司推荐
  • 网站建设 焦作网络推广赚钱平台有哪些
  • 邢台网站建设厂家google adwords关键词工具
  • 南昌新建网站建设手机优化软件排名
  • 爱采购网郑州百度seo关键词
  • 公司网页设计百度seo排名优
  • 衢州 网站 制作新网
  • 去哪里做网站安全等级保护级别电商平台排名
  • 青海论坛网站建设seo搜索引擎优化培训班
  • wordpress ico更改seo门户网站优化
  • 揭阳网站建设团队网站排名推广
  • 举例行业门户网站国内免费ip地址
  • 收录提交大全seo分析
  • 做360网站优化西安seo关键词排名优化
  • 创建视频网站100个关键词
  • 响应式网站如何实现web制作网站的模板