Command模式
Command模式,对功能的调用和功能的实现进行解藕。功能的调用者不用知道具体的功能是怎样实现的,使用了接口,具有很大的灵活性,使代码稳健、可维护、可复用。
下面是一个简单的例子,首先建立一个接口ICommand,
public interface ICommand {
void execue();
}
然后是两个实现了这个接口和具体功能的实用类:
public class Printer implements ICommand {
public void execue() {
System.out.println("printed!");
}
}
public class FileOpener implements ICommand {
public void execue() {
System.out.println("Open file");
}
}
在下面的这个类中实现了命令模式:
public class SystemFunction {
private List<ICommand> cmds = new ArrayList<ICommand>();
public SystemFunction() {
cmds.add(new FileOpener());
cmds.add(new Printer());
}
public void doWork() {
// TODO Auto-generated method stub
for(ICommand cmd:cmds) {
cmd.execue();
}
}
public static void main(String[] args) {
SystemFunction cmd = new SystemFunction();
cmd.doWork();
}
}
使用List存储具体的命令对象,由于实现了接口,所以能够以接口来引用具体的对象,这样就体现了解藕和灵活性。
通过以上简单的代码演示,应该可以对Command模式有一个大概的认识,为实际的开发提供更多的思路。
- 17:18
- 浏览 (265)
- 评论 (0)
- 分类: Java Pattern
- 相关推荐
发表评论
- 浏览: 54558 次
- 性别:

- 来自: 北京

- 详细资料
搜索本博客
我的相册
共 6 张
最新评论
-
一个数据库连接Java工具类 ...
不错,加油,能写成工具类就好了。
-- by dd2086 -
Hibernate和Access
我指的是方法一
-- by 黑暗浪子 -
Hibernate和Access
我测试一下,如果连接的是*.asa文件,好像就报"can't open conn ...
-- by 黑暗浪子 -
计算机/软件领域中的名人
Bruce Eckel和其他几位根本不是一个层次的人物。Marin Fowler ...
-- by turing -
《夜袭》和战争
电影拍的不好,有辱历史!
-- by ken1984






评论排行榜