关于命令模式的一些理解


   今天,打算看看命令模式了。以前记得在一个项目中,可以要求记录删除的记录,就用了这个模式,问题解决了,当时还把核心的几个类保存了一下,结果到头来忘得一干二净!
所以说呢,技术这个东西用的时候干脆搞懂,要不过了几天就基本忘了。
   言归正传,命令模式还是蛮有用的,我看了Head First那本书,感觉文字的东西看的费神,索性直接奔类图去了:类图如下:
   
      最简单的类图基本就是上面这个了,看了看他们之间的依赖关系,大致按照我的理解弄明白怎么回事了:
其实Invoker类其实相当于 命令的执行者,client相当于框架类类似于调用MAIN函数的那个类,上面类图中的依赖的话,可以当成具体命令的生成工具吧。Receiver相当于干活的人,
剩下就是命令的接口和具体命令类,当然具体命令类中需要制定接受者!
    具体过程: new 一个receiver R
                   new 一个Client类 C 传入R当作参数,
                   new一个ConcreteCommand类 返回ICommand对象给C持有
                   new一个Invoker对象 设置ICommand为C.ICommand;
                   Invoker执行一下它持有的命令对象的DO函数,进入命令对象do函数执行R.ACTION();

       这样应该是一个基本的过程,都是从图上看的,我看head first关于命令模式后面还有些篇幅,下次再看看。
      总之感觉看类图的话,还省点力气,也理解快点。

posted on 2009-08-03 16:00  沧海一声笑  阅读(527)  评论(0编辑  收藏  举报

导航