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

网站艺术设计福州建设厅网站

网站艺术设计,福州建设厅网站,网络舆情监测平台,建设网站的公司有哪些在软件开发中#xff0c;我们经常面临处理请求或事件的情况。有时候#xff0c;我们需要将请求或事件依次传递给多个对象进行处理#xff0c;但又不确定哪个对象最终会处理它。这时候#xff0c;职责链模式#xff08;Chain of Responsibility Pattern#xff09;就能派上… 在软件开发中我们经常面临处理请求或事件的情况。有时候我们需要将请求或事件依次传递给多个对象进行处理但又不确定哪个对象最终会处理它。这时候职责链模式Chain of Responsibility Pattern就能派上用场了。 1、什么是职责链模式 职责链模式是一种行为设计模式它能够使请求发送者和接收者解耦使代码更具有灵活性和可维护性。 2、职责链模式适用场景 职责链模式适用于以下场景 1、当需要将请求的处理逻辑分离成多个独立的对象并且每个对象都有可能处理请求时。 2、当需要按照一定的顺序处理请求时。 3、当希望动态地指定处理请求的对象集合时。 3、职责链模式技术点 在职责链模式中关键的技术点包括 1、职责链的构成职责链由多个处理者对象组成每个处理者对象都包含一个对下一个处理者对象的引用。 2、请求的传递请求从发送者开始逐级传递给职责链中的处理者对象直到有一个处理者对象能够处理请求为止。 3、处理者对象的判断每个处理者对象都有一个处理请求的方法该方法根据自身的判断条件来决定是否处理请求或将请求传递给下一个处理者对象。 4、详细案例代码 下面我们通过一个简单的场景来演示职责链模式的应用。假设我们正在开发一个购买审批系统需要根据不同的金额级别来审核购买请求。我们可以构建一个职责链来处理这些审批请求。 // 抽象处理者 abstract class Approver {protected Approver nextApprover;public void setNextApprover(Approver nextApprover) {this.nextApprover nextApprover;}public abstract void approveRequest(double amount); }// 具体处理者 class Manager extends Approver {public void approveRequest(double amount) {if (amount 1000) {System.out.println(Manager approved the purchase request.);} else if (nextApprover ! null) {nextApprover.approveRequest(amount);}} }class Director extends Approver {public void approveRequest(double amount) {if (amount 5000) {System.out.println(Director approved the purchase request.);} else if (nextApprover ! null) {nextApprover.approveRequest(amount);}} }class CEO extends Approver {public void approveRequest(double amount) {if (amount 10000) {System.out.println(CEO approved the purchase request.);} else {System.out.println(The purchase request exceeds the companys limit.);}} }// 客户端代码 public class Client {public static void main(String[] args) {Approver manager new Manager();Approver director new Director();Approver ceo new CEO();manager.setNextApprover(director);director.setNextApprover(ceo);manager.approveRequest(500);manager.approveRequest(5000);manager.approveRequest(15000);} }以上案例代码展示了一个简单的购买审批系统使用了职责链模式来处理不同金额级别的购买请求。代码中包含了三个具体处理者Manager经理、Director主管和CEO首席执行官它们按照责任链的顺序构成了一个处理链。 在客户端代码中首先创建了三个具体处理者对象manager、director和ceo。然后通过使用setNextApprover()方法将处理者对象按照处理顺序连接成一个职责链。具体来说manager的下一个处理者是directordirector的下一个处理者是ceo。 接下来通过调用manager的approveRequest()方法来处理购买请求。如果请求金额小于等于1000manager会批准请求并输出一条相应的信息。如果请求金额超过1000manager会将请求传递给下一个处理者即director。director会进行自身的判断如果请求金额小于等于5000director会批准请求并输出信息。 如果请求金额超过5000director会将请求传递给ceo。ceo会进行最后的判断如果请求金额小于等于10000ceo会批准请求并输出信息。如果请求金额超过10000ceo会拒绝请求并输出相应信息。 通过这样的设计购买请求会依次经过manager、director和ceo三个处理者对象的判断和处理直到找到能够处理请求的处理者对象或者达到职责链的末尾。这种方式使得代码具有灵活性可以根据不同的请求金额级别进行处理同时也能够方便地扩展和修改职责链。 在实际应用中职责链模式可以用于各种场景例如审批流程、日志处理、异常处理等。通过合理构建职责链可以实现请求的动态分发和处理提高代码的可维护性和可扩展性。 总结 职责链模式为我们解决了处理请求或事件的灵活性和可维护性问题使得代码更加模块化和可扩展。然而职责链模式并不是适用于所有场景的银弹。在某些情况下职责链可能会导致请求的传递过程变得复杂或者可能出现请求无法被任何处理者对象处理的情况。在接下来的博文中我们将深入探讨职责链模式的优缺点以及更多实际应用案例帮助你更好地理解和应用这一设计模式。 好了今天的分享到此结束。如果觉得我的博文帮到了您您的点赞和关注是对我最大的支持。如遇到什么问题可评论区留言。
http://www.w-s-a.com/news/96051/

相关文章:

  • 网站规划和布局备案网站地址
  • 站长工具流量统计招工信息发布平台
  • 上海网站建设公司排行建设无障碍网站
  • phpcms网站打不开网页制作网站设计稿
  • 博客网站开发环境wordpress 中英文双语
  • 做网站报价表群辉装wordpress
  • 请人做游戏的网站视觉设计师的工作内容
  • 昆明网站建设知名企业博客网站开发
  • 如何做网站网页免费thinkphp网站后台模板
  • 怎么自己做优惠券网站济南小程序开发
  • 南昌网站专业制作做仿站如何获取网站源码
  • qq钓鱼网站wordpress 企业站模板
  • 推进文明网站建设免费设计公司logo设计
  • 做电脑租赁网站server 2008 网站部署
  • 做网站的公司一年能赚多少钱wordpress作者增加分类插件
  • 苏州尚云网站建设专业摄影网站推荐
  • 020网站开发微信公众号直接链接网站怎么做
  • 学做烘焙的网站某网站注册需要邮箱是怎么弄
  • 网站的特效代码公司网站开发的工作内容
  • 网站制作哪家好商城网站建设预算要多少钱
  • 怎么做律所的官方网站微网站可以做商城吗
  • 通用网站后台管理系统(php版)网站备案ip查询网站查询
  • 制作网站代码吗江阴网站建设推广
  • 汕头建网站wordpress文章网址采集
  • 十大景观设计网站用vue框架做的网站
  • 福建省建设监理网官方网站做外贸网站卖什么东西好
  • 公司做网站排名东莞关键词优化推广
  • 连云港做企业网站公司全网营销与seo
  • 电子毕业设计代做网站wordpress 插件放在那
  • 黄石规划建设局网站怎么做存储网站