java设计模式之命令模式(复习)

java设计模式之命令模式(复习)

这今天突然看到某框架里面使用了大量的命令模式,于是想起了很久以前自己曾写过的命令模式

今天就把命令模式复习重写了一下

首先我们应该知道什么命令模式

命令模式就是发送命令得到应答的,符合设计模式规则的一种模式

如下面的代码即是一个简单的命令模式

首先我们创建一个简单的键盘类

public class KeyBoard {
 private String str;
 
 public void setStr(String str) {
  this.str = str;
 }
 
 public void print(){
  System.out.println("当前发送的命令是="+this.str);
 }
}

 这个键盘类应该有很多操作,我们这里就只展示一种操作

其次我们创建一个统一的接口

interface ComComputer {

 public void execute();

}

再实现这个接口

public class ComKeyboard implements ComComputer{
 private KeyBoard keyBoard = new KeyBoard();
 
 public ComKeyboard(KeyBoard keyBoard,String str){
  keyBoard.setStr(str);
  this.keyBoard = keyBoard;
 }
 
 @Override
 public void execute() {
  this.keyBoard.print(); 
 }
}

再创建一个请求者

public class Control {

 private ComComputer comComputer;

 public Control(ComComputer comComputer){

  this.comComputer = comComputer;

 }

 public void keyBoard(){

  this.comComputer.execute();

 }

}

最后我们就可以创建一个客户端来模拟一下了:

public class KeyBoardMain {
 public static void main(String[] args) {
  // 发送一个键盘命令
  KeyBoard KeyBoard = new KeyBoard();
  
  ComComputer comComputer = new ComKeyboard(KeyBoard,"发送字符B");
  Control control = new Control(comComputer);
  
  control.keyBoard();
 }
}

以上就是一个简单的命令模式了

大家可以参考我之前写的文章

java 23种设计模式之行为型模式—命令模式(18)



如果您觉得本文章对您有用,也为了更好的运营博客,您可以点击这里捐助

评论 抢沙发

昵称 (必填) 邮箱 (必填)
表情