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

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

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

  • 相关阅读:
    javascript和C#比较
    前端模块管理器简介
    javascript中的splice方法介绍&示例
    javascript中数组揭秘
    17款code review工具
    IIS ip访问限制插件
    iis 限制动态IP地址访问次数
    AWS云使用100条宝贵经验分享
    C# 开源框架(整理)
    如何获取Azure AD tenant的tenant Id?
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427082.html
Copyright © 2011-2022 走看看