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
    * 欢迎来邮件定制各类验证码识别,条码识别,图像处理等软件
    * 推荐不错的珍珠饰品,欢迎订购 * 宜臣珍珠(淡水好珍珠) */
  • 相关阅读:
    android architecture
    java求解两个字符串之间的编辑距离
    URL和URI的区别
    java源码解析之qdox
    java中Random实现原理
    java中ThreadLocal入门
    java中多线程之Future入门
    java中类加载器入门
    java中正则表达式的group用法
    java反射调用main方法踩坑
  • 原文地址:https://www.cnblogs.com/ubunoon/p/ChainAndCommand.html
Copyright © 2011-2022 走看看