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

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

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

  • 相关阅读:
    C# 之 FTPserver中文件上传与下载(一)
    net-snmp-5.7.3配置编译安装
    Linux下编译安装Apache Http Server
    linux回收站设计
    String封装——读时共享,写时复制
    4-python学习——数据操作
    3-python学习——变量
    2-python学习——hello world
    1 python学习——python环境配置
    04-树7. Search in a Binary Search Tree (25)
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427082.html
Copyright © 2011-2022 走看看