📄 command1.java
字号:
import java.util.*;
interface Command{
public abstract void executeCommand();
}
class Module1 implements Command{
public void fun1(){
System.out.println("一些功能");
}
/*public void fun2(),.....*/
//以下功能在客户端调用"命令1"时调用
public void executeCommand(){
System.out.println("显示模块1");
}
}
class Module2 implements Command{
public void fun1(){
System.out.println("一些功能");
}
/*public void fun2(),.....*/
//以下功能在客户端调用"命令2"时调用
public void executeCommand(){
System.out.println("显示模块2");
}
}
class CommandConstructor{//不负责生成模块,只负责组织模块和命令(甚至可以用配置文件)
//将每一个模块和命令名称映射起来
private static HashMap commandPool = new HashMap();
public static void constructCommandPool(){
//以下两句,只是测试使用,实际应用中并不一定在这里new,各个模块引用可能从外界传递过来
Module1 module1 = new Module1();
Module2 module2 = new Module2();
commandPool.put("命令1",module1);
commandPool.put("命令2",module2);
}
public static Command getCommand(String key){
return (Command)commandPool.get(key);
}
}
public class Command1{
public static void main(String args[]){//客户端调用命令时,能否无需关心来源,只需关心调用
CommandConstructor.constructCommandPool();
Command c1 = CommandConstructor.getCommand("命令2");
c1.executeCommand();
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -