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

百度关键词竞价价格沈阳网站seo排名公司

百度关键词竞价价格,沈阳网站seo排名公司,wordpress主题 破解,网站禁止ping摘要 责任链模式(Chain of responsibility pattern): 通过责任链模式, 你可以为某个请求创建一个对象链. 每个对象依序检查此请求并对其进行处理或者将它传给链中的下一个对象。 一、责任链模式意图 职责链模式#xff08;Chain Of Responsibility#xff09; 是一种行为设…摘要 责任链模式(Chain of responsibility pattern): 通过责任链模式, 你可以为某个请求创建一个对象链. 每个对象依序检查此请求并对其进行处理或者将它传给链中的下一个对象。 一、责任链模式意图 职责链模式Chain Of Responsibility 是一种行为设计模式 允许你将请求沿着处理者链进行发送。 收到请求后 每个处理者均可对请求进行处理 或将其传递给链上的下个处理者。 使多个对象都有机会处理请求从而避免请求的发送者和接收者之间的耦合关系。 将这个对象连成一条链并沿着这条链传递该请求直到有一个对象处理它为止。 二、责任链模式场景 当程序需要使用不同方式处理不同种类请求 而且请求类型和顺序预先未知时可以使用责任链模式。当必须按顺序执行多个处理者时 可以使用该模式。如果所需处理者及其顺序必须在运行时进行改变 可以使用责任链模式。 三、责任链模式类图 处理者 Handler 声明了所有具体处理者的通用接口。 该接口通常仅包含单个方法用于请求处理 但有时其还会包含一个设置链上下个处理者的方法。 基础处理者 Base Handler 是一个可选的类 你可以将所有处理者共用的样本代码放置在其中。 通常情况下 该类中定义了一个保存对于下个处理者引用的成员变量。 客户端可通过将处理者传递给上个处理者的构造函数或设定方法来创建链。 该类还可以实现默认的处理行为 确定下个处理者存在后再将请求传递给它。 具体处理者 Concrete Handlers 包含处理请求的实际代码。 每个处理者接收到请求后 都必须决定是否进行处理 以及是否沿着链传递请求。 处理者通常是独立且不可变的 需要通过构造函数一次性地获得所有必要地数据。 客户端 Client 可根据程序逻辑一次性或者动态地生成链。 值得注意的是 请求可发送给链上的任意一个处理者 而非必须是第一个处理者。 四、责任链模式实现 public abstract class Handler {protected Handler successor;public Handler(Handler successor) {this.successor successor;}protected abstract void handleRequest(Request request); } public class ConcreteHandler1 extends Handler {public ConcreteHandler1(Handler successor) {super(successor);}Overrideprotected void handleRequest(Request request) {if (request.getType() RequestType.type1) {System.out.println(request.getName() is handle by ConcreteHandler1);return;}if (successor ! null) {successor.handleRequest(request);}} } public class ConcreteHandler2 extends Handler{public ConcreteHandler2(Handler successor) {super(successor);}Overrideprotected void handleRequest(Request request) {if (request.getType() RequestType.type2) {System.out.println(request.getName() is handle by ConcreteHandler2);return;}if (successor ! null) {successor.handleRequest(request);}} } public class Request {private RequestType type;private String name;public Request(RequestType type, String name) {this.type type;this.name name;}public RequestType getType() {return type;}public String getName() {return name;} } public enum RequestType {type1, type2 } public class Client {public static void main(String[] args) {Handler handler1 new ConcreteHandler1(null);Handler handler2 new ConcreteHandler2(handler1);Request request1 new Request(RequestType.type1, request1);handler2.handleRequest(request1);Request request2 new Request(RequestType.type2, request2);handler2.handleRequest(request2);} } 五、责任链模式总结 责任链模式、命令模式、中介者模式和观察者模式都是用于处理请求发送者和接收者之间的不同连接方式 责任链按照顺序将请求动态传递给一系列的潜在接收者 直至其中一名接收者对请求进行处理。命令在发送者和请求者之间建立单向连接。中介者清除了发送者和请求者之间的直接连接 强制它们通过一个中介对象进行间接沟通。观察者允许接收者动态地订阅或取消接收请求。 责任链模式通常与组合模式结合使用。 在这种情况下 叶子组件接收到请求后 可以将请求沿包含全体父组件的链一直传递至对象树的底部。 责任链模式使用命令模式实现在这种情况下 你可以对由请求代表的同一个上下文对象执行许多不同的操作。还有另外一种实现方式 那就是请求自身就是一个命令对象。 在这种情况下 你可以对由一系列不同上下文连接而成的链执行相同的操作。 责任链与装饰器模式类结构非常相似。 两者都依赖递归组合将需要执行的操作传递给一系列对象。 但是 两者有几点重要的不同之处。责任链管理者可以相互独立地执行一切操作 还可以随时停止传递请求。 另一方面 各种装饰可以在遵循基本接口的情况下扩展对象的行为。 此外 装饰无法中断请求的传递。 六、责任链模式开源示例 使用示例 责任链模式在 Java 程序中并不常见 因为它仅在代码与对象链打交道时才能发挥作用。该模式最流行的使用案例之一是在 GUI 类中将事件向上传递给父组件。 另一个值得注意的使用案例是依次访问过滤器。 下面是该模式在核心 Java 程序库中的一些示例 javax.servlet.Filter#doFilter()(opens new window)java.util.logging.Logger#log()(opens new window) 识别方法 该模式可通过一组对象的行为方法间接调用其他对象的相同方法来识别 而且所有对象都会遵循相同的接口。 博文参考 行为型 - 责任链(Chain Of Responsibility) | Java 全栈知识体系 设计模式之职责链模式 | DESIGN
http://www.w-s-a.com/news/769829/

相关文章:

  • iis网站批量导入苏州最新新闻事件今天
  • 甘肃省住房和城乡建设厅注册中心网站首页沈阳专业关键词推广
  • 网站怎么能在百度搜到网站开发费怎么做会计分录
  • 嘉定专业网站制作公司七星彩网站开发
  • 网站建设人员培训企业网站开发模型图
  • 自己开发一个网站应该怎么做国外设计网站 绿色的
  • 南昌外贸网站设计推广任务发布平台app
  • 建立网站成本书店网站建设可行性分析
  • 高端网站设计官网乌海学校网站建设
  • 哪些网站适合新手编程做项目优秀网页设计赏析
  • 永州网站seo德阳网站建设优化
  • 网站建设高端网站本地建设网站软件下载
  • 网站后台账号密码破解杭州酒店网站设计公司推荐
  • 和县网站开发秦皇岛建设工程信息网站
  • 国外网站用什么dns好建一个下载网站要什么cms系统
  • 礼品工艺品网站建设手机做网站哪家好
  • 泉州网站建设方案维护怎样选择网站建设
  • 江苏建站速度忿先进的网站建设
  • 广州天河建站公司com域名注册多少钱
  • 成都网站建设推广好vs2013如何做网站
  • 茶叶网站建设模板企业网站备案要多少钱
  • 怎么查网站找谁做的win主机伪静态规则 wordpress
  • 轻云服务器菁英版 多个网站北京it外包服务商
  • 售后服务 网站建设阳江seo优化
  • 网站建设后怎么赚钱wordpress调用导航栏
  • 特产网站设计六色网站
  • 服务器网站备案做网站公司如何赚钱
  • 怎样进行站点优化荣成市有做网站的吗
  • 合肥建设工会网站芜湖做网站建设公司
  • 玉林市住房和城乡建设局网站网站开发百灵鸟