ChainOfResponsibility 与 Command

ChainOfResponsibility是一个非常不错的设计思想,将一些相同的操作作为一个链进行传递,在合适的方位进行处理。这个用在Command传递的时候最为有用,因而我将ChainOfResponsibility与Command设计方法放在一起。

当一个键盘消息或一个鼠标消息需要被处理时,那么该消息应该在何处被处理才是问题的关键!ChainOfResponsibility提供了一个非常有利的方法,而且由于利用了虚拟函数功能,避免了链数据结构的设计,同时如果采用类似MFC的OnMsgCmd命令设计方法,那么一个命令消息将沿着它的上升沿(父类)不断被解读,不断被分析是否需要处理,一旦处理完毕就立即返回。

采用Command方法设计的消息命令,在链接ChainOfResponsibility中采用该Command类进行设计,那么当需要进行Command扩展的时候,可以很方面的试用Command类的子类定义,这个时候利用虚拟函数就可以很好的处理好Command子类的在ChainOfResponsibility功能。

设计ChainOfResponsibility类需要设计多个类,定义其中一个基类,同时设计Command类的时候需要设计好Client以及发送Command类的Invoker。两者之间的融合需要类的组合方式进行处理!

这篇文章写的很粗糙,请各位看完后不要拍砖!
/*
*
* Copyright (c) 2011 Ubunoon.
* All rights reserved.
*
* email: netubu#gmail.com replace '#' to '@'
* http://www.cnblogs.com/ubunoon
* 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
* 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
原文地址:https://www.cnblogs.com/ubunoon/p/ChainAndCommand.html