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

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

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

  • 相关阅读:
    一个禁止某个document element对象选中文本的js方法
    LNMP中nginx和php的安装流程
    nginx编译
    nginx服务器管理
    nginx+phpfpm配置文件的组织结构
    win 8 x64 english key
    WdatePicker 设置时间范围在某个时间段
    Vm workstation安装win8 的问题
    android 开发中xml的解析
    多线程下载文件
  • 原文地址:https://www.cnblogs.com/cly84920/p/4427081.html
Copyright © 2011-2022 走看看