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

网站关键词从哪改怎么制作网站详细流程

网站关键词从哪改,怎么制作网站详细流程,网站做搜索引擎优化,pc网站开发语言一、什么是职责链模式 职责链模式是一种行为型设计模式,它允许将请求沿着处理者的链进行传递,直到有一个处理者能够处理它为止。换句话说,它将请求的发送者和接收者解耦,使得多个对象都有机会处理这个请求,从而避免了将…

一、什么是职责链模式

        职责链模式是一种行为型设计模式它允许将请求沿着处理者的链进行传递,直到有一个处理者能够处理它为止。换句话说,它将请求的发送者和接收者解耦,使得多个对象都有机会处理这个请求,从而避免了将请求直接发送给具体的处理者。

        在职责链模式中,多个处理者对象形成一个链,客户端将请求传递给链中的第一个处理者,由第一个处理者决定是自己处理请求,还是将请求传递给下一个处理者,直到请求被处理或者链末尾没有处理者为止。

二、职责链模式的结构

  • Handler(处理者):定义处理请求的接口,并且可以访问下一个处理者。
  • ConcreteHandler(具体处理者):实现了处理请求的具体逻辑,如果能够处理该请求,则处理它,如果不能处理,则将请求传递给链中的下一个处理者。
  • Client(客户端):发起请求并传递给链中的第一个处理者。

三、职责链模式的优点

  • 降低耦合性:请求发送者和请求接收者解耦,发送者无需知道具体处理者。
  • 灵活性:可以灵活地组织处理者链,可以动态地改变链的结构。
  • 简化代码:职责链模式可以避免多重条件语句,使代码更简洁。

四、职责链模式的缺点

  • 链过长:如果链太长,可能会导致性能问题。
  • 处理不当:如果没有合适的处理者,可能会造成请求得不到处理。

五、案例讲解:客服支持系统

        假设我们有一个客服支持系统,客户提交的问题根据其优先级需要经过不同层级的客服人员处理。优先级较低的问题由初级客服处理,优先级较高的问题由技术支持人员处理,如果问题依然没有解决,那么会交给经理来处理。

        我们可以使用职责链模式来处理这个场景。以下是完整的代码实现。

六、代码实现

1.问题设计(SupportTicket)

public class SupportTicket {private String description; // 问题描述private int priority;       // 问题优先级,数值越大表示优先级越高public SupportTicket(String description, int priority) {this.description = description;this.priority = priority;}public String getDescription() {return description;}public int getPriority() {return priority;}
}

  SupportTicket 类表示客户提交的问题,包含问题的描述和优先级。

2.抽象支持处理者(SupportHandler)

public abstract class SupportHandler {private SupportHandler nextHandler; // 下一个处理者// 设置下一个处理者public void setNextHandler(SupportHandler nextHandler){this.nextHandler = nextHandler;}// 获取下一个处理者public SupportHandler getNextHandler(){return nextHandler;}// 处理请求的方法public abstract void handleTicket(SupportTicket ticket);
}

  SupportHandler 是职责链模式中的抽象处理者,它定义了处理请求的方法 handleTicket,并且维护了一个指向下一个处理者的引用(nextHandler)。

3.初级支持处理者(JuniorSupport)

public class JuniorSupport extends SupportHandler{@Overridepublic void handleTicket(SupportTicket ticket) {if(ticket.getPriority() <= 2){System.out.println("初级客服处理问题:"+ticket.getDescription());} else if (getNextHandler() != null) {getNextHandler().handleTicket(ticket); // 传递给下一个处理者} else {System.out.println("问题过大,需要汇报给总部处理!!!");}}
}

  JuniorSupport 是一个具体处理者类,当问题的优先级小于等于 2 时,它会处理该问题。如果问题优先级较高,它会将请求传递给下一个处理者。

4.技术支持处理者(TechSupport)

public class TechSupport extends SupportHandler{@Overridepublic void handleTicket(SupportTicket ticket) {if(ticket.getPriority() <= 4){System.out.println("技术员处理问题:"+ticket.getDescription());} else if (getNextHandler() != null) {getNextHandler().handleTicket(ticket);  // 传递给下一个处理者} else {System.out.println("问题过大,需要汇报给总部处理!!!");}}
}

  TechSupport 处理优先级小于等于 4 的问题,其他问题会传递给下一个处理者。

5.经理支持处理者(ManagerSupport)

public class ManagerSupport extends SupportHandler{@Overridepublic void handleTicket(SupportTicket ticket) {if(ticket.getPriority() <= 10){System.out.println("经理处理问题:"+ticket.getDescription());} else if (getNextHandler() != null) {getNextHandler().handleTicket(ticket);} else {System.out.println("问题过大,需要汇报给总部处理!!!");}}
}

  ManagerSupport 处理优先级小于等于 10 的问题,其他问题会传递给下一个处理者,直到链的末尾。

6.测试类(TestChain)

public class TestChain {public static void main(String[] args) {// 问题声明SupportTicket ticket1 = new SupportTicket("线路混乱", 1);SupportTicket ticket2 = new SupportTicket("服务器异常", 113);// 处理者声明SupportHandler handler1 = new JuniorSupport();SupportHandler handler2 = new TechSupport();SupportHandler handler3 = new ManagerSupport();// 处理者链的组装handler1.setNextHandler(handler2);handler2.setNextHandler(handler3);// 问题处理的传递handler1.handleTicket(ticket1);handler1.handleTicket(ticket2);}
}

        在 TestChain 中,我们创建了三个处理者(JuniorSupportTechSupportManagerSupport),并将它们串联成一个处理链。当请求传递给第一个处理者时,若它不能处理请求,就将请求交给下一个处理者,直到找到合适的处理者或者到达链的末尾。

7. 总结

        职责链模式通过将请求沿着处理者链进行传递,使得每个处理者只关心自己能处理的请求,从而减少了发送者与接收者之间的耦合。职责链模式有助于系统的灵活扩展,因为我们可以在运行时动态地调整处理链结构。通过这种模式,能够实现请求的逐层处理,直到有一个处理者能够处理该请求为止。

http://www.tj-hxxt.cn/news/38541.html

相关文章:

  • 励志网站织梦源码aso投放平台
  • 网络营销外包都选异变网络sem对seo的影响有哪些
  • 网站开发技术合同杭州网站关键词排名
  • 重庆公司公章图片怀化网站seo
  • .net 获取网站域名网上开店如何推广自己的网店
  • 打开建设银行网站个人外包接单平台
  • 专业做网站流程优化seo网站
  • 大陆手机如何安装台湾app广东seo网站推广
  • 济南专业网站开发公司电商seo与sem是什么
  • 静态网页怎么做网站windows优化大师收费
  • 旅游网站建设初衷厦门seo外包平台
  • 海口网红打卡旅游景点网站seo优化
  • 网站如何更换图片今天上海重大新闻事件
  • 电子商务网站的定义酒店推广渠道有哪些
  • 做网站用的图片分辨率重庆森林经典台词 凤梨罐头
  • 宁波网络推广系统seo网站关键词优化方式
  • 网站开发需要java吗seo关键词排名优化手机
  • 购物网站开发论文手机百度app免费下载
  • 专业建设规划ppt做整站优化
  • 做网站买域名要买几个后缀最安全自媒体营销方式有哪些
  • 如何做网站霸屏市场调查报告模板及范文
  • 网站建设一般多少钱一年在线推广企业网站的方法
  • 网站下面的站长统计很逗专业代写软文
  • 网页制作与网站建设宝典(第2版)网站权重怎么看
  • 做网站PAAS系统佛山seo代理计费
  • 合肥最新通知今天合肥百度推广排名优化
  • 网站制作怎么做让点击高免费seo工具
  • 上海网站排名优化公司软文怎么写
  • 几个网站一个空间 怎么做邮箱预防电信网络诈骗
  • 网站建设合同英文版百度快照推广是什么意思