`
悲剧了
  • 浏览: 147647 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

扯一扯命令模式

阅读更多
老早就看过命令模式,但是具体项目使用起来,理解的不是很好,最近有点小感悟,闲扯下
命令模式的核心:包装命令处理作为一个类存在 --core1
             提供统一接口--core2

一般情景中能看到的命令模式:
    struts2就是基于命令模式的框架,请求--响应这种web方式,一个path对应一个action处理
path就是命令,对应的action就是命令,而且还提供了统一的接口exe
但是通常用插件实现零配置,这个用annotation方式也实现了统一的处理,具体没细看
public interface Action {  
  
    /** 
     * Where the logic of the action is executed. 
     * 
     * @return a string representing the logical result of the execution. 
     *         See constants in this interface for a list of standard result values. 
     * @throws Exception thrown if a system level exception occurs. 
     *                   Application level exceptions should be handled by returning 
     *                   an error value, such as Action.ERROR. 
     */  
    public String execute() throws Exception;  
}  





    c/s这种开发模式的命令模式,菜单处理操作对应于  事件--响应 这种跟请求--响应 类似
一个事件对应一个命令类的处理,并且都是提供统一接口来包装持有这些命令
详细分析:
命令类--command
调用者(持有命令类)--invoke
命令模式就位具体事件或者请求之类的,会给他生成一个具体调用者实例,这个实例是根据请求的特性

    命令模式可以把这些命令封装起来,实现撤销,重做等方式,这个就是复杂的命令模式实现,简单的话只需在持有类中有一个记录命令操作的历史类
分享到:
评论
2 楼 悲剧了 2011-11-29  
BuN_Ny 写道
没看出来什么心得。

好吧,下次努力争取有点心得
1 楼 BuN_Ny 2011-11-29  
没看出来什么心得。

相关推荐

    ftp命令详解

    - 功能:每个命令执行完毕后计算机响铃一次。 - 示例:`bell`,启用命令执行完毕后的响铃提示。 7. **`bin` 或 `binary`** - 功能:使用二进制文件传输方式。 - 示例:`bin`,设置二进制传输模式。 8. **`bye`...

    MySQL的备份工具mysqldump的基础使用命令总结

    MySQL数据库的备份工具有很多,不过这里介绍的是一个小巧好用的mysqldump工具,位于数据库目录下bin/mysqldump.exe.这几天用phpMyAdmin备份数据库的时候出现乱码,反复在本地跟远程的Dreamhost空间上测试了数据库,但是...

    java运维简历.pdf

    - "扯扯购物中心"项目,这是一个基于JSP/Servlet的网上购物系统,使用MVC模式,亲自实现了控制层和持久层,熟悉了JNDI和数据库连接池的使用。 从这份简历可以看出,这位应聘者具备良好的Java基础知识,有一定的...

    java运维简历.docx

    10. **项目经验**:简历中提到了两个项目,一个是C字本,一个扯扯购物中心,这两个项目让他熟悉了开发环境和MVC模式,积累了实际开发经验。 总的来说,这个Java运维简历显示了应聘者在Java开发、数据库管理、Web...

    程序员简历参考模板.pdf

    - 描述大型项目经验,如扯扯购物中心,说明你掌握了JSP/Servlet、MVC模式、DAO模式和数据库连接池等技术。 10. **自我评价**:可以简短地概述你的优势、学习态度和职业目标。 制作程序员简历时,务必保持内容真实...

    wyh自学笔记–linux指令篇~Ⅰ

    文章开始先扯些没用的话,就当是第一篇博客给自己的一些鼓励还有自勉吧,选择了这一行,需要学习的太多太多,代码之路千千万,只能希望自己在代码的海洋里,能够找寻自己的快乐。 博客是自学笔记,怕将来需要的时候...

    DNP3规约.7z

    在DNP3协议中,主站通常位于控制中心,负责调度和配置,而从站通常是分布在网络边缘的RTU和IED,负责数据采集和执行命令。协议支持事件报告、周期性扫描、循环数据更新等多种通信模式,以适应不同的实时需求。 DNP3...

Global site tag (gtag.js) - Google Analytics