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

上市公司做网站有什么用营销网站有四大要素构成

上市公司做网站有什么用,营销网站有四大要素构成,网站 后台 设计,商标图案大全图片写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。 职责链模式(Chain …

写文章的初心主要是用来帮助自己快速的回忆这个模式该怎么用,主要是下面的UML图可以起到大作用,在你学习过一遍以后可能会遗忘,忘记了不要紧,只要看一眼UML图就能想起来了。同时也请大家多多指教。

职责链模式(Chain of Responsibility)

是一种行为型模式。

目录

一、概述

1.1、直观的理解:

1.2、主要角色:

1.3、描述对象之间关系的UML图:

1.4、适用场景:

二、简单举例

2.1、对象之间的关系用UML图表示如下:

2.2、Java代码如下:


 

一、概述

1、使多个对象都有机会处理请求,从而避免请求的发送者和接收者之间的耦合关系。将这些对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。
2、职责链可简化对象的相互连接,它们仅需保持一个指向其后继者的引用,而不需保持它所有的候选接收者的引用。
3、可以随时增加或修改处理一个请求的结构,增强了给对象指派职责的灵活性。

1.1、直观的理解

假设有三个处理请求者,它们组成一个处理链1-》2-》3:

391a137eaf604dd798d7bbb095417ae8.png

当遇到请求后的处理步骤如下:

1a0040b997a94277b76ae43f5b5ff366.png

可以看到,如果前面的处理请求者能够处理此次请求,那么就不会再把请求传递到后面。这很像if-else语句。

1.2、主要角色:

  • 处理请求者:处理请求的抽象类或接口 + 处理请求类
  • 发起请求者

(注:请求链要按需填装配置以后才可以正常使用)

1.3、描述对象之间关系的UML图:

faa56208ed164991b5546ca160d0e173.png

1.4、适用场景:

  • 有多个对象可以处理一个请求,并且具体是哪个对象处理是在运行时自动确定
  • 你想在不明确指定哪个接收者时,向多个对象中的一个提交一个请求
  • 可处理一个请求的对象集合应该被动态指定

二、简单举例

现在有三个处理请求者A、B、C,它们分别能够处理的请求参数的范围为:0到9、10到19、20到29。以处理者请求A为头将他们按顺序串在一起,然后请求发起者给处理者请求A发送4个请求。例子简单就不再详细分析了。你可以把这当做一个模板,然后灵活使用:

2.1、对象之间的关系用UML图表示如下:

b1bccd44b70e4f348a92920ef57fac87.png

2.2、Java代码如下:

处理请求者的抽象类:

abstract class Handler {protected Handler successor;public void setSuccessor(Handler successor) {this.successor = successor;}public abstract void handleRequest(int request);
}

处理请求类A:

public class ConcreteHandlerA extends Handler {@Overridepublic void handleRequest(int request) {if (request >= 0 && request < 10) {System.out.println(this.getClass().getSimpleName() + "处理请求" + request);} else if (this.successor != null) {this.successor.handleRequest(request);}}
}

处理请求类B:

public class ConcreteHandlerB extends Handler {@Overridepublic void handleRequest(int request) {if (request >= 10 && request < 20) {System.out.println(this.getClass().getSimpleName() + "处理请求" + request);} else if (this.successor != null) {this.successor.handleRequest(request);}}
}

处理请求类C:

public class ConcreteHandlerC extends Handler {@Overridepublic void handleRequest(int request) {if (request >= 20 && request < 30) {System.out.println(this.getClass().getSimpleName() + "处理请求" + request);} else if (this.successor != null) {this.successor.handleRequest(request);}}
}

主程序(发起请求的类):

public class Main {public static void main(String[] args) {Handler handlerA = new ConcreteHandlerA();Handler handlerB = new ConcreteHandlerB();Handler handlerC = new ConcreteHandlerC();//串联ABChandlerA.setSuccessor(handlerB);handlerB.setSuccessor(handlerC);//发送请求int[] requests = {1, 14, 25, 36};for (int request : requests) {handlerA.handleRequest(request);}}
}

这里就不再举例了,可以把上面的Java例子复制到你本地,运行main函数试一下加深理解。这些代码都是我自己学习的时候根据一些教材手敲的,不存在bug可以直接运行。

如果觉得本文还不错,就请点个赞给作者一点鼓励吧!如果有建议,也请评论指教和讨论!

d45e9daabb974f29b85a026b7214c2f5.jpeg

 

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

相关文章:

  • 南京医院手机网站建设怎么自己做游戏
  • 网站设计公司 上广西网站建设在线
  • aspcms网站打不开深圳找网站建设公司
  • 泉州网站建设价钱将自己做的网站发布到
  • 乐清手机网站网上服装定制网站
  • 如何做提卡网站衡阳专业seo公司
  • 珠海 网站建设和推广重庆城乡建设信息网
  • 帮我们公司做网站微信分享 淘宝网站 怎么做
  • 黔西南北京网站建设17zwd一起做网站教学视频
  • 网站运营策略如何做做3dh春丽网站叫什么
  • 中国制造网网站特色qt科技感ui界面
  • 百度建网站多少钱ui设计属于视觉传达吗
  • 网站百度没收录北京市企业信用信息查询网
  • 中国域名门户网站阿里巴巴吧做网站
  • 智慧建设网站wordpress 插件 您没有足够的权限访问该页面
  • 网站升级页面连接设置标准通网站建设
  • 电子商务网站建设与维护的教学浅谈网站建设的目的和意义
  • 毕业设计做网站前端推广计划表
  • 仪征市建设工程网站做网站有一行一行写代码的吗
  • 网站托管服务方案医院门户网站开发
  • 最超值的锦州网站建设汕头地区做网站的
  • 电商运营网站设计无锡企业网站制作费用
  • 网站建站网站建站网站管理助手4.0教程
  • 快速建立平台网站开发建站教程详解wordpress fonts
  • 简述建站流程国外电子商务网站
  • 帮建网站的人品牌建设演讲稿
  • 网页设计与网站建设在线考试宣传型网站的实现技术手段
  • 手机上怎么自己做网站《设计》韩国
  • 福田网站建设seo信科可视化网站建设软件有哪些
  • html5网站强制横屏h5网站开发技术