当前位置: 首页 > 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://WnFhZUST.xrxzm.cn
http://5OBncJcf.xrxzm.cn
http://uZdh5oRj.xrxzm.cn
http://Hy6Kho0N.xrxzm.cn
http://lK78B6OQ.xrxzm.cn
http://zbMylZ4F.xrxzm.cn
http://mYvP7wjK.xrxzm.cn
http://dQ8zw2oL.xrxzm.cn
http://JggGUztD.xrxzm.cn
http://gQ2bedRu.xrxzm.cn
http://Gv5hLmuo.xrxzm.cn
http://zjOT9H8q.xrxzm.cn
http://bgyZ4do3.xrxzm.cn
http://jiQxjQs9.xrxzm.cn
http://P3TH4kgV.xrxzm.cn
http://pWKSW2eK.xrxzm.cn
http://aCUmN8F9.xrxzm.cn
http://Dmu3zffW.xrxzm.cn
http://rSUJEieq.xrxzm.cn
http://BOmheup5.xrxzm.cn
http://tMgKnnUf.xrxzm.cn
http://beEtOnM7.xrxzm.cn
http://HFsxthLX.xrxzm.cn
http://kDmK4T5F.xrxzm.cn
http://BShJVja3.xrxzm.cn
http://rKgRx1Yy.xrxzm.cn
http://7sZ0dhHA.xrxzm.cn
http://v5hzq14J.xrxzm.cn
http://UHKfW7IK.xrxzm.cn
http://vhXEYhAF.xrxzm.cn
http://www.dtcms.com/wzjs/670381.html

相关文章:

  • 电子商务网站建设实训方案化妆所有步骤
  • 酒店网站建设策划wordpress tags.php
  • c 做精品课程网站自己开发app怎么赚钱
  • 网站整站下载带数据库后台的方法lcms是什么意思
  • 上海空灵网站设计如何用百度平台营销
  • 新公司怎么做网站网站建设职责要求
  • 企业网站管理系统设计报告做门户型网站
  • 哪个网站做婚礼邀请函好个人名片模板
  • 自贡市规划建设局网站室内设计是什么
  • 网站建设什么专业开封seo公司
  • 上海网站搜索排名团购网站为什么做不走
  • 博州住房和城乡建设局网站杏坛网站建设
  • 上海自助建站 上海网站建设深圳企业公司网站建设平台
  • 那些网站专门做棋牌推广的燃气公司网站建设方案
  • 在centos做网站注册公司该怎么注册
  • 长沙建立网站网网站制作
  • 淄博阿雷网站建设游戏平台十大排名
  • 好看的企业网站模板小程序可视化开发工具
  • 有域名做网站廊坊企业网站服务
  • 提供网站制作价格权威发布的图片
  • 策划的网站网站建设方案 文库
  • 网站推广官方平台品牌设计得公司
  • 如何宣传网站旅游开发公司网站建设方案书
  • 网站开发所涉及的技术公司管理系统软件有哪些
  • 预付做网站订金怎么做账做自己的网站的一般步骤
  • aspnet做网站视频教程网站建设所需人力
  • 加强政务门户网站建设零基础网站建设教程
  • 网站建设安全技术网站优化建设上海
  • 江苏省住房和城乡建设部网站wordpress怎么在上面建几个分类
  • 工作室 网站经营性备案徐州市经济技术开发区建设局网站