`
行者买刀
  • 浏览: 194112 次
  • 性别: Icon_minigender_1
  • 来自: 厦门
社区版块
存档分类
最新评论

设计模式之略见一斑(命令模式Command)

    博客分类:
  • J2SE
阅读更多

    终于把构造模式的几种设计模式写完,接下来开始写的行为模式。说起Command我们就要想起菜单构造方法。

 

1.菜单命令:

我们常见的一种情况就是菜单命令,按钮监听。下面就举出一个常用的简单例子 :

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)。

 

2.使用command模式提供服务

 假设现在有一个新需求要求我们统计方法的执行时间。假设已经有一个接口Command.

public interface Command {
   public void execute();
}

 

还有一个计算该接口执行所需要的时间的方法:

	/**
	 * the time been used on Command
	 * @param command
	 * @return
	 */
	public static long time(Command command){
		long t1 = System.currentTimeMillis();
		command.execute();
		long t2 = System.currentTimeMillis();
		return t2-t1;
	}

 

我们可以使用如下方式来测试他所花的时间,并对该接口的方法做一实现

	public static void main(String[] args) {
		Command command = new Command(){
			public void execute() {
				try {
					Thread.sleep(100);
				} catch (Exception e) {
					e.printStackTrace();
				}
			}
		};
		long actual = time(command);
		System.out.println(actual);
	}

 3.Command模式与其他模式关系

    1).Command模式与解释器模式类似

    2).Comsmand模式也类似于Factory模式,在Factory中用户不知道何时创建对象,也不知道该实例化哪一个类。

    3).Command模式也经常与其它模式一起使用如上面提的actionListener,我们通常都是类先实现这个接口,然后再

addActionListener(this)。或者把当前的actionPerformed()用另一个类封装.

分享到:
评论

相关推荐

    21种设计模式略见一斑

    - 命令模式:将请求封装为一个对象,以便使用不同的请求、队列请求或者支持可撤销的操作。 - 解释器模式:提供一个语言的文法表示,并定义一个解释器来解释该文法。 - 迭代器模式:提供一种方法顺序访问聚合对象...

    设计模式之略见一斑(Observer观察者模式)

    在软件开发中,设计模式是解决常见问题的模板,它们为程序员提供了一种标准化的解决方案,使得代码更易于理解和维护。本篇文章将深入探讨“Observer”观察者模式,这是一种行为设计模式,它定义了对象之间的一对多...

    CRC16或32校验

    CRC的全称为Cyclic Redundancy Check,中文名称为循环冗余校验。它是一类重要的线性分组码,编码...例如我们读软盘上的文件,以及解压一个ZIP文件时,偶尔会碰到“Bad CRC”错误,由此它在数据存储方面的应用可略见一斑

    280个容易读错、写错、用错的成语要点.doc

    6. "按兵不动"(àn bīng bù dòng):命令军队暂时不做行动,也可比喻在工作或决策上保持静观其变的态度。 7. "黯然失色"(àn rán shī sè):形容相比之下显得暗淡无光,通常用于比较两者间的优劣。 8. "慷慨...

    高一语文洞察世道沧桑测试[精选].doc

    - "阜盛"指富饶繁盛,"敕造"是指奉皇帝命令建造,"形容尚小"通常指年龄或事物尚处于初级阶段,"风流态度"指人物的风雅举止,"不经之谈"是荒诞无稽的说法,"放诞无礼"是指行为放纵,不顾礼节,"体格风骚"形容女子...

    小学语文成语大全及其解释.pdf

    3. **按兵不动**:军事策略,指挥官命令军队暂不行动,等待最佳时机。 4. **黯然失色**:形容事物失去光彩,变得暗淡无光。 5. **大方激昂**:形容语气高昂,情绪激奋,充满斗志。 6. **安步当车**:以悠闲的步伐...

    成语大全带解释.doc

    10. **略见一斑**:形容从局部可以推测到整体的一部分情况。 11. **有口皆碑**:形容人们对某人或某事的赞扬之声普遍且一致。 12. **并行不悖**:两个或多个事情可以同时进行,彼此之间并不冲突。 13. **白璧微瑕**...

    2021-2025年中国避雷器行业调研及竞合策略研究报告.pdf

    报告的核心内容可从提供的“部分内容”中略见一斑,以下是对报告内容的详细解读: 一、企业竞合策略概述 报告首先介绍了避雷器行业竞合策略研究的背景、研究原则与方法,并阐述了研究企业竞合策略的重要性和实践...

    高一语文上册第二单元综合测试1[精选].doc

    1. 语文基础知识:题目涉及到词语辨析,如“心酸”与“辛酸往事”,“一般”与“略见一斑”,“过度”与“过渡时期”,“无谓”与“无私无畏”,“家世”与“处理家事”,“明智”与“淡泊明志”,“灌注”与...

    高二语文试卷山东济宁02-03年上学期高二语文期末考试[精选].doc

    3. 字形题:识别并改正错别字,如"略见一斑"、"死不瞑目"、"文过饰非"、"不肖子孙"等。 4. 成语运用:正确使用成语,如"大方之家"、"兵不血刃"、"声誉鹊起"、"噤若寒蝉"等,同时考查成语的含义和适用情境。 5. 词语...

    小学生易错字及生僻字总结.doc

    6. 略见一斑:从一点细微之处就能看出整体的情况或品质。 7. 班门弄斧:在专家面前卖弄自己的技能,暗示自不量力。 8. 英雄辈出:形容一个时代或群体中不断涌现出杰出的人物。 9. 并行不悖:两件事物同时进行而互不...

    现场活动大屏幕系统v1.1806221.zip

    《现场活动大屏幕系统v1.1806221》是一款专为现场活动设计的多媒体展示系统,它的核心功能在于提供一个高效、稳定且易于操作的大屏幕展示平台。这款系统能够帮助活动组织者在活动现场实时展示各种信息,如活动进程、...

    怀念母亲练习题.docx

    - (3) "我当时的想法,从这几段文字中也可以看出一点" 可以替换为 "言外之意,略见一斑"。 2. 动词填空: - ① "暗夜渐渐__上天空,__上对面的屋顶" 可以填入 "爬上,爬满",表达夜晚降临的情景。"一切都__在朦胧...

    容易用错的成语一览表.doc

    4. **黯然失色**:形容相比之下显得差远了,不如别人。同义词有“相形见绌”、“大相径庭”。反义成语如“光彩夺目”、“不相上下”。 5. **慷慨激昂**:形容精神振奋,情绪高昂,充满正气。同义词有“热血沸腾”、...

    曲周事业单位招聘2018年考试真题及答案解析考试版(1).docx

    "略见一斑"意味着事情的端倪已经显现,“光明灿烂”和“辉煌”均形容美好前景,但前者更侧重于未来的可能性,后者侧重于实际的辉煌成就。因此,选B:希望光明,光明璀璨。 8. 经济形势描述:第八题中,“内热外冷”...

    小学语文成语大全及其解释.doc

    10. **略见一斑**:通过部分了解整体,形容对事物的初步认识。 11. **有口皆碑**:所有人都称赞,表示对某人或某事的普遍好评。 12. **并行不悖**:两件事情同时进行,并不互相冲突。 13. **白璧微瑕**:比喻美好的...

    CRC算法与实现.doc

    例如,我们读软盘上的文件,以及解压一个 ZIP 文件时,偶尔会碰到“Bad CRC”错误,由此它在数据存储方面的应用可略见一斑。 CRC 的优点 CRC 的优点在于编码和解码方法简单,检错和纠错能力强,在通信领域广泛地...

    年高一年级语文下册第二次段考试卷.doc

    题目2考察学生对汉字书写的准确性,如"烦燥"应为"烦躁"、"甜言密语"应为"甜言蜜语"、"颓垣"、"略见一班"应为"略见一斑"、"莫钟一是一言既出,驷马难追"中"莫钟一是"可能是错误,正确可能是"莫衷一是"。 3. 成语运用...

    2015_2016学年高中语文课时训练10雷雨鲁人版必修4

    3. 字形校正:题目中还包含了错别字的纠正,如A项中的“烦燥”应为“烦躁”,“甜言密语”应为“甜言蜜语”,B项中的“半响”应为“半晌”,“略见一班”应为“略见一斑”,C项中的“脉膊”应为“脉搏”,“歪风斜气...

Global site tag (gtag.js) - Google Analytics