zoukankan      html  css  js  c++  java
  • 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
    * 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
    * 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
  • 相关阅读:
    IIS6.0PUT漏洞的利用
    练习1--利用python获取百度前3页搜索结果(可更改页数)
    笔记整理6——用python实现IP流量分析
    Django ORM 那些相关操作
    Django 中得ORM介绍和字段及字段参数
    Django 的 路由系统
    Django
    Django 的 之 视图
    Django 框架
    Django 中ORM 的使用
  • 原文地址:https://www.cnblogs.com/ubunoon/p/ChainAndCommand.html
Copyright © 2011-2022 走看看