zoukankan      html  css  js  c++  java
  • 职责链模式

    职责链模式:使多个对象都有机会处理请求,从而避免请求发送者和接收者之间的耦合关系。将接收对象连成一条链,并沿着这条链传递该请求,直到有一个对象处理它为止。当客户提交一个请求时,请求一定是从链的开始处提交,但是具体到链的哪一个环节进行处理,客户并不知道。且链中的对象也并不知道链的结构。结果是职责链可简化对象的相互链接,它们仅需保持一个指向其后继者的引用,而不需保持它所有的候选接受者的引用。这就大大降低了耦合度了。

    职责链模式只有一个角色,处理类。这个类里有一个属性,用于保存这个处理类的后继者,也就链中的下一环。有两个方法,一个用于设置设置后继者,通过给方法传入后继者对象,赋值给处理类的后继者属性。另一个方法就是处理方法。处理方法中会有一个断送逻辑,如果满足这个判断逻辑,那么对请求进行处理,如果不满足,就调用处理类后继者的处理方法,把责任推给后继者。后继者直接就运行了处理方法,它的后继者又在哪里指定的呢?其实职责链模式在开始处理请求之前,会把所有的处理类实例化出来,然后调用设置后继者方法,在一开始就确定好所有处理类之间的链接关系。然后,再调用链接中第一环的处理方法,开始对请求进行传递。

  • 相关阅读:
    day06.2-软链接与硬链接
    day06.1-磁盘管理
    day05.3-Linux进程管理
    day05.2-Vim编辑器
    day05.1-文件归档与压缩
    day04-Linux系统中用户控制及文件权限管理方法
    day03-Linux操作系统目录结构
    day02.2-常用Linux命令整理
    BST_traverse(中序遍历,前序遍历,后序遍历)
    JS_DOM_practice with Pokemon
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427082.html
Copyright © 2011-2022 走看看