Chain of Responsibility模式

时间:2022-06-17 10:54:46

  熟悉VC/MFC的都知道,VC是“基于消息,事件驱动”,消息在VC开发中起着举足轻重的作用。MFC提供了消息的处理的链式处理策略,处理消息的请求将沿着预定好的路径依次进行处理。消息的发送者并不知道该消息最后是由哪个具体的对象处理的,当然它也无需也不想知道,但是结果是该消息被某个对象处理了,或者一直到一个终极的对象进行处理了。

  Chain of Responsibility模式,擅长解决的其实就是这样一类问题:将可能处理一个请求的对象链接成一个链,并将请求在这个链上传递,直到有对象处理该请求(可能需要提供一个默认处理所有请求的类,例如MFC中的CwinApp类)。

  Chain of Responsibility模式的最大的一个优点就是给系统降低了耦合性,请求的发送者完全不必知道该请求会被哪个应答对象处理,极大地降低了系统的耦合性。