宜兴做宠物的网站上海seo有哪些公司

news/2025/9/28 1:23:36/文章来源:
宜兴做宠物的网站,上海seo有哪些公司,电视台网站如何做新闻报道,展示型网站解决方案Java PatternDesign of GOF(四人帮力作#xff0c;享誉15年)第十五模式Java PatternDesign of GOF(四人帮力作#xff0c;享誉15年)第十五模式板桥里人 http://www.jdon.com 2002/04/21(转载请保留)Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求reque…Java PatternDesign of GOF(四人帮力作享誉15年)第十五模式Java PatternDesign of GOF(四人帮力作享誉15年)第十五模式板桥里人 http://www.jdon.com 2002/04/21(转载请保留)Chain of Responsibility(CoR) 是用一系列类(classes)试图处理一个请求request,这些类之间是一个松散的耦合,唯一共同点是在他们之间传递request. 也就是说来了一个请求A类先处理如果没有处理就传递到B类处理如果没有处理就传递到C类处理就这样象一个链条(chain)一样传递下去。如何使用?虽然这一段是如何使用CoR,但是也是演示什么是CoR.有一个Handler接口:public interface Handler{public void handleRequest();}这是一个处理request的事例 如果有多种request,比如 请求帮助 请求打印 或请求格式化最先想到的解决方案是在接口中增加多个请求public interface Handler{public void handleHelp();public void handlePrint();public void handleFormat();}具体是一段实现接口Handler代码public class ConcreteHandler implements Handler{private Handler successor;public ConcreteHandler(Handler successor){this.successorsuccessor;}public void handleHelp(){//具体处理请求Help的代码...}public void handlePrint(){//如果是print 转去处理Printsuccessor.handlePrint();}public void handleFormat(){//如果是Format 转去处理formatsuccessor.handleFormat();}}一共有三个这样的具体实现类上面是处理help,还有处理Print 处理Format这大概是我们最常用的编程思路。虽然思路简单明了但是有一个扩展问题如果我们需要再增加一个请求request种类,需要修改接口及其每一个实现。第二方案:将每种request都变成一个接口因此我们有以下代码 public interface HelpHandler{public void handleHelp();}public interface PrintHandler{public void handlePrint();}public interface FormatHandler{public void handleFormat();}public class ConcreteHandlerimplements HelpHandler,PrintHandler,FormatHandlet{private HelpHandler helpSuccessor;private PrintHandler printSuccessor;private FormatHandler formatSuccessor;public ConcreteHandler(HelpHandler helpSuccessor,PrintHandler printSuccessor,FormatHandler             formatSuccessor){this.helpSuccessorhelpSuccessor;this.printSuccessorprintSuccessor;this.formatSuccessorformatSuccessor;}public void handleHelp(){.......}public void handlePrint(){this.printSuccessorprintSuccessor;}public void handleFormat(){this.formatSuccessorformatSuccessor;}}这个办法在增加新的请求request情况下只是节省了接口的修改量接口实现ConcreteHandler还需要修改。而且代码显然不简单美丽。解决方案3: 在Handler接口中只使用一个参数化方法public interface Handler{public void handleRequest(String request);}那么Handler实现代码如下public class ConcreteHandler implements Handler{private Handler successor;public ConcreteHandler(Handler successor){this.successorsuccessor;}public void handleRequest(String request){if (request.equals(Help)){//这里是处理Help的具体代码}else//传递到下一个successor.handle(request);}}}这里先假设request是String类型如果不是怎么办当然我们可以创建一个专门类Request最后解决方案:接口Handler的代码如下public interface Handler{public void handleRequest(Request request);}Request类的定义:public class Request{private String type;public Request(String type){this.typetype;}public String getType(){return type;}public void execute(){//request真正具体行为代码}}那么Handler实现代码如下public class ConcreteHandler implements Handler{private Handler successor;public ConcreteHandler(Handler successor){this.successorsuccessor;}public void handleRequest(Request request){if (request instanceof HelpRequest){//这里是处理Help的具体代码}else if (request instanceof PrintRequst){request.execute();}else//传递到下一个successor.handle(request);}}}这个解决方案就是CoR, 在一个链上,都有相应职责的类,因此叫Chain of Responsibility.CoR的优点因为无法预知来自外界(客户端)的请求是属于哪种类型每个类如果碰到它不能处理的请求只要放弃就可以。缺点是效率低因为一个请求的完成可能要遍历到最后才可能完成当然也可以用树的概念优化。 在Java AWT1.0中对于鼠标按键事情的处理就是使用CoR,到Java.1.1以后就使用Observer代替CoR扩展性差因为在CoR中一定要有一个统一的接口Handler.局限性就在这里。与Command模式区别Command 模式需要事先协商客户端和服务器端的调用关系比如 1 代表 start 2 代表 move 等这些 都是封装在 request 中到达服务器端再分解。CoR 模式就无需这种事先约定服务器端可以使用 CoR 模式进行客户端请求的猜测一个个猜测 试验。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/920152.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

健康网站可以做推广吗沃尔玛网上商城是正品吗

操作说明:1、不同电脑进BIOS按键不一样,常见的有del、F1、F2、Esc、enter、F8、F9等2、在电脑启动时,不停按Del、F2等按键会进入BIOS设置界面,开机按哪个键进BIOS设置BIOS类型一:CMOS Setup Utility1、启动时按Del进入…

US$39 CGPRO CAN V2.1 Adapter for CG Pro 9S12 Key Programmer

CGPRO CAN V2.1 Adapter for CG Pro 9S12 Key ProgrammerSupport the following engine computer repair BMW E Series 3 Series or 5 Series, BMW F Series, BMW R Series (Mini), Bentley, Volkswagen MT60 MT80.BMW…

南昌淘宝网站制作公司成都关键词排名系统

Java 8提供的流的基于Lambda表达式的函数式的操作写法让人感觉很爽,笔者也一直用的很开心,直到看到了Java8 Lambda表达式和流操作如何让你的代码变慢5倍,笔者当时是震惊的,我读书少,你不要骗我。瞬间我似乎为我的Serve…

网站头部特效天长街道两学一做网站

转自:https://juejin.cn/post/7121236352032571422 无法启动主要是因为依赖包版本高,不兼容,要降级 解决方法: 1、安装easyconnect(已安装就跳过) 2、EasyConnect的安装位置在 /usr/share/sangfor/EasyCon…

US$49 BMW F Series Coding Authorization for CGDI Prog BMW MSV80 Key Programmer

BMW F Series Coding Authorization for CGDI Prog BMW MSV80 Key ProgrammerNo need shipping. Please pass us serial number of your CGDI Prog BMW.Kindly note this authorization is free if you have CGDI Prog…

嘉兴论坛网站建设sns网站设计

目录 一:资源限制 1、资源限制原因 2、Pod 和 容器 的资源请求和限制 3、CPU 资源单位 4、内存 资源单位 5、事例 (1)事例一 (2)事例二 二:重启策略 1、重启策略模式 2、事例 三:探针…

郑州网站建设技术精粹东莞房价下跌

一、说明 时间这是集成技术下的第 4 篇文章,如果您想了解有关集成技术的更多信息,您可以参考我的第 1 篇集成技术文章。 机器学习算法(9) - 集成技术(装袋 - 随机森林分类器和...... 在这篇文章中,我将解释…

手机网站打不开邹平做网站的公司

这两个类都实现了 List 接口(List 接口继承了 Collection 接口),他们都是有序集合 ①线程安全:Vector 使用了 Synchronized 来实现线程同步,是线程安全的,而 ArrayList 是 非线程安全的。 ②性能&#x…

无锡公共工程建设中心网站html代码换行

自定义组件 组件的创建与引用1、创建组件2、引用组件3、全局引用VS局部引用4、组件和页面的区别 样式1、组件样式隔离2、组件样式隔离的注意点3、stylelsolation的可选值 数据、方法和属性1、data数据2、methods方法3、properties4、data和properties区别5、使用setData修改pr…

苍穹外卖-day02(新增员工,员工分页查询,启用禁用员工账号,编辑员工,导入分类模块功能代码) - a

苍穹外卖-day02(新增员工,员工分页查询,启用禁用员工账号,编辑员工,导入分类模块功能代码) 课程内容新增员工 员工分页查询 启用禁用员工账号 编辑员工 导入分类模块功能代码功能实现:员工管理、菜品分类管理。…

US$52 KVM V3 Adapter for Yanhua Mini ACDP Module9 Land Rover

KVM V2 Adapter for Yanhua Mini ACDP Module9 Land RoverKVM V2 Adapter for Yanhua Mini ACDP Module9 Land Rover, is specially for those customers whose KVM M2 adapter is missing or broken. Its in Module9 …

智慧决策的透明化路径:空白金兰契架构下的悟空备案制研究

智慧决策的透明化路径:"空白金兰契"架构下的"悟空备案制"研究 AI元人文/岐金兰 一、引言:从"黑箱"到"白箱"的AI决策革命 人工智能技术的飞速发展使其在越来越多的领域承担决…

纯js做网站景县做个油管的网站怎么做

文章目录0.友情链接1.引言2.创建一个元表2.1.__tostring方法2.2.__add和__mul方法2.3.__index方法2.4.__call方法3.完整代码0.友情链接 GitHUb上下载Lua编译器Lua菜鸟教程中的元表介绍(较全,但功能性受限)博客园内元表的介绍(较详…

US$114 BWM FEM/BDC Authorization for CGDI Prog BMW MSV80

BWM FEM/BDC Authorization for CGDI Prog BMW MSV80Now CGDI Prog BMW MSV80 add BWM FEM/BDC function for free, while if your CGDI BMW was bought before Oct, 2017, will still need to pay for it alone.No ne…

机械行业网站怎么做企业163邮箱登录

项目介绍 在工作中使用的管理系统,可以随手记录一些笔记、可以汇总一些常用网站的链接、可以管理自己负责的项目、可以记录每日日报和查看历史日报、可以记录加班情况、可以记录报销内容、可以编写文章文档。 系统功能 我的笔记快捷入口项目管理今日日报我的日报…

重庆 机械有限公司 江北网站建设网站设计目标 优帮云

0 向量 就是分量全为 0 的向量 (0 0 … 0)单位向量 就是 L2 范数/模/长度为 1 的向量 如果一个向量大部分的位置为0, 少部分为非0的数, 那这样的向量我们就称之为稀疏向量, 反之为稠密向量, 它们是数学里面…

云龙微网站开发seo技术专员招聘

表格存储Tablestore入门手册系列主要介绍表格存储的各个功能接口和适用场景,帮助客户了解和使用表格存储Tablestore。本文对表格存储Tablestore的UpdateRow接口进行介绍,包括其参数、功能示例、使用场景等。 接口概述 UpdateRow接口是表格存储Tablestor…

广东省建设安全协会网站html5商城网站

函数有自己的类型,可以像使用基础类型一样使用函数,包括将函数保存在变量中、保存在 vec 中、声明在结构体成员字段中。闭包函数也是函数,也有自己的类型定义。不过,函数实际上是指针类型,在 rust 所有权中属于借用的关…

使用 preact 渲染组件到任何元素

import { render } from preactconst frag = document.createDocumentFragment() render(<CustomComponent />, frag)const container = document.querySelector(#container) as HTMLElement container.prepend(…

网站怎么申请微信认证wordpress后台如何设置为中文

求单源最短路的SPFA算法的全称是&#xff1a;Shortest Path Faster Algorithm。 SPFA算法是西南交通大学段凡丁于1994年发表的。 从名字我们就可以看出&#xff0c;这种算法在效率上一定有过人之处。 很多时候&#xff0c;给定的图存在负权边&#xff0c;这时类似…