• 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
    * 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
    * 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
  • 相关阅读:
    之前没弄明白的链表和return
    读Bsautiful Soup库有感
    Beautiful Soup库
    XML和JSON的系列操作
    urllib和requests的区别(持续更新)
    request请求把cookie当作参数传入请求
    Python统计文件夹下文件的个数
    基础算法之查找
    timeit用法(不完整)
    spring初识
  • 原文地址:https://www.cnblogs.com/ubunoon/p/ChainAndCommand.html
Copyright © 2020-2023  润新知