- 浏览: 1259982 次
- 性别:
- 来自: 常州
文章分类
- 全部博客 (499)
- java (101)
- linux (82)
- mysql (30)
- javascript (45)
- Oracle (12)
- ext (14)
- 虚拟机 (1)
- 搜索引擎 (2)
- struts2 (11)
- 设计模式 (9)
- nginx (17)
- tomcat (12)
- 随想 (10)
- spring (18)
- svn (1)
- flash (3)
- UML (1)
- 数据结构 (7)
- 算法 (2)
- 网摘 (9)
- 数据库 (15)
- ibatis (3)
- jquery (31)
- lucene (1)
- hibernate (14)
- Myeclipse (4)
- 线程 (7)
- jbpm (4)
- 重构 (1)
- mantis (3)
- MediaWiki (4)
- ExtMail (1)
- MDaemon (1)
- egit (1)
- dwr (7)
- sitemesh (2)
- mybatis (1)
- ico (1)
- hadoop (5)
- jsoup (1)
- urlrewrite (2)
- jstl (1)
- spring3 (2)
- aop (2)
- 定时器 (1)
- Quartz (2)
- apache (1)
- php (1)
- security (1)
- iptables (2)
- QQ (1)
- mysqldump (1)
- vim (1)
- memcached (4)
- jad (1)
- 微博 (1)
- html5 (1)
- css3 (1)
- httpclient (10)
- google (1)
- shortUrl (1)
- json (2)
- virtualBox (1)
- mantisBT (2)
- htmlunit (1)
- selenium (2)
- mail (1)
- 正则表达式 (4)
- html (3)
- css (2)
- jatoolsPrinter (1)
- 图片处理 (1)
- hql (1)
- webservice (1)
- 分词 (3)
- 短信 (1)
- VPS (1)
- 事务 (1)
- 广告 (1)
- 画廊 (1)
- git (3)
- github (1)
- openshift (1)
- 缓存 (1)
- web (3)
- android (3)
- c3p0 (1)
- 邮箱 (1)
- memcache (2)
- windows (2)
- js (14)
- 编辑器 (1)
- 打印 (1)
- centos (5)
- boneCP (1)
- 连接池 (1)
- sql (1)
- nosql (1)
- MongoDB (1)
- 浏览器 (1)
- node (1)
- node.js (1)
- backbone.js (1)
- lazyload (1)
- Switch Off (1)
- Titanium (1)
- 网站架构 (1)
- WebDriver (1)
- APJP (1)
- 代理 (1)
- comet (1)
- kendoui (1)
- UI (2)
- 互联网 (1)
- localStorage (1)
- 记录 (1)
- 微信 (2)
- Sphinx (1)
- netty (1)
- js,mvvm,Avalon (1)
- 安卓 (1)
- Tengine (1)
- 大数据 (1)
- 手机 (1)
- paypal (1)
- SaaS (1)
- gitlab (1)
- nodejs (1)
- React (1)
- shadowsocks (0)
- vpn (0)
- 验证码 (1)
- SSL (2)
- SEO (1)
- IntelliJ (1)
- 敏捷开发 (1)
- 项目管理 (1)
- 爬虫 (1)
- 正则 (1)
- owncloud (1)
- 云存储 (1)
- ajax (1)
- pjax (1)
- jdk (1)
- zookeeper (1)
- phantomjs (1)
- ELK (1)
- springcloud (1)
- IDEA (1)
- hexo (1)
- ss (1)
- letencrypt (1)
最新评论
-
peakandyuri:
这个是有BUG的,数字小体现不出来,数字大了就不对了,但是Ja ...
java十进制转换N进制并反转换的工具类 -
ginolai:
然后是相关配置:/etc/sysconfig/iptables ...
Linux中iptables设置详细 -
bzhao:
我测试没啥区别啊!
Thread.sleep()和Thread.currentThread().sleep()区别 -
zhl549342097:
match == false
Spring Security 3.1 中功能强大的加密工具 PasswordEncoder -
hellotieye:
renzhengzhi 写道drager 写道用jsoup后解 ...
jsoup select 选择器
引用某大的文章:
我们常见的一种情况就是菜单命令,按钮监听。下面就举出一个常用的简单例子 :
public class Test { public static void main(String[] args) { JButton jb = new JButton(); jb.addActionListener(new ActionListener(){ public void actionPerformed(ActionEvent e) { // TODO Auto-generated method stub doSomething(); } }); } }
设计JButton的时候我们没办法决定用户调用什么方法,什么时候调用, 所以我们提供一个外接口来响应用户的请求,并把具体响应内容对外给用户由用户决定响应内容。如上代码,当用户点击按钮时,调用的方法的 actionPerformed(),当你创建该按钮方法时,可以使用对应于特定命令行为的actionPerformed()方法。给它绑定一个监听对 象(ActionListener)。
下面使用一个简单的例子,比如网游中需要切换武器迎敌,那么例子如下:
1.interface Weapon
package com.xuyi.command; /** * @author xuyi * 切换武器 */ public interface Weapon { public String switchWeapon(); }
2.Test.java
package com.xuyi.command; //command模式-命令模式:使用command模式提供服务,最典型的例子就是按钮侦听事件 public class Test { private static void kill(Weapon weapon){ System.out.println(weapon.switchWeapon()); } private static String doSomeThing(){ return "武器切换成圆月弯刀"; } public static void main(String[] args) { //先实现接口 Weapon weapon = new Weapon(){ public String switchWeapon() { return doSomeThing(); } }; //进行侦听这个接口的实现,doSomeThing实现可以任意指定 kill(weapon); } }
3.Command模式与其他模式关系
1).Command模式与解释器模式类似
2).Comsmand模式也类似于Factory模式,在Factory中用户不知道何时创建对象,也不知道该实例化哪一个类。
3).Command模式也经常与其它模式一起使用如上面提的actionListener,我们通常都是类先实现这个接口,然后再
addActionListener(this)。或者把当前的actionPerformed()用另一个类封装.
发表评论
-
学习设计模式之State模式(状态模式)
2010-04-21 23:03 1351引用一下某大的文章: 设计模式中的状态模式相对比较简 ... -
学习设计模式之strategy模式(策略模式)
2010-04-21 22:17 1201引用某大的文章: java设计模式 写道 ... -
学习设计模式之Template Method模式(模板方法模式)
2010-04-21 21:24 1111模板方法模式就是预先作好一个模板,开发者只要根据模板添加相应的 ... -
学习设计模式之Memento模式(备忘录模式)
2010-04-21 20:52 1092这里引用一下某大的文章: 有时候,我们需要创建对象曾在系统 ... -
学习设计模式之Observer模式(观察者模式)
2010-04-21 00:03 1087引用一下某大的文章: 用户通常通过调用对象的方法来收集该对 ... -
学习设计模式之Chain of Responsibility模式(责任链模式)
2010-04-20 23:17 1324引用下某大的文章: ... -
学习设计模式之Mediator模式(中介者模式)
2010-04-20 22:19 1229这里就直接引用一些某 ... -
学习设计模式之Visitor模式(访问者模式)
2010-04-20 22:12 1249首先需要感谢下网上各位同志提供的实例,呵呵,我看来是站在巨人的 ...
相关推荐
设计模式C++学习之命令模式(Command)
有关设计模式里边的命令模式,内含ppt、源代码及结果、word整理。在此以供大家学习交流。
命令模式(Command) 用意:把一个请求封装到一个对象中,把发出命令和执行命令的责任分开,委派给不同的对象实现。
将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可取消的操作。
Head First 设计模式 (六) 命令模式(Command pattern) C++实现
Command设计模式ppt 代码示例 设计模式 Command ppt 代码实例 撤销重做实例
C#面向对象设计模式纵横谈(15):(行为型模式) Command 命令模式
C++设计模式代码资源23_Command_命令模式.zip
命令模式,将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤消的操作。
C++设计模式课件23_Command_命令模式.pdf
C#面向对象设计模式纵横谈(15):(行为型模式) Command 命令模式 (Level 300)
命令模式是一种行为设计模式,它将一个请求封装成一个对象,从而允许用户根据不同的请求对客户进行参数化;同时,它也支持撤销操作。 命令模式的核心在于通过命令对象实现调用操作和实现操作的解耦。这种模式通常...
第13章 命令模式(Command) 第14章 迭代器模式(Iterator) 第15章 组合模式(Composite) 第16章 模板方法模式(Template Method) 第17章 策略模式(Strategy) 第18章 状态模式(State) 第19章 备忘录模式...
命令模式之游戏实现
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。
主要介绍了Java设计模式之命令模式(Command模式)介绍,本文讲解了Command模式的定义、如何使用命令模式等内容,需要的朋友可以参考下
在这里与各位分享本人从网络上下载的C#面向对象设计模式纵横谈系列视频,共有25节,除了第一节需要各位贡献一点资源分以作为对本人上传资源的回馈,后面的其他资源均不需要... 这是第15节:行为型模式Command命令模式
这是JAVA设计模式中属于行为模式的部分,包括Template(模板模式)、Chain of Responsibility(责任链模式)、Memento(纪念品模式)、Mediator(中介模式)、Strategy(策略模式)、State 、Observer(观察者模式)、Visitor...
C#面向对象设计模式纵横谈(15):(行为型模式) Command 命令模式 C#面向对象设计模式纵横谈(16):(行为型模式) Interpreter 解释器模式 C#面向对象设计模式纵横谈(17):(行为型模式) Mediator 中介者模式 C#...
NULL 博文链接:https://jacky-dai.iteye.com/blog/1928129