1700463746
1700463747
//每个具体的命令都必须实现一个命令
1700463748
1700463749
public void execute(){
1700463750
1700463751
//业务处理
1700463752
1700463753
super.receiver.doSomething();
1700463754
1700463755
}
1700463756
1700463757
}
1700463758
1700463759
public class ConcreteCommand2 extends Command{
1700463760
1700463761
//声明自己的默认接收者
1700463762
1700463763
public ConcreteCommand2(){
1700463764
1700463765
super(new ConcreteReciver2());
1700463766
1700463767
}
1700463768
1700463769
//设置新的接收者
1700463770
1700463771
public ConcreteCommand2(Receiver_receiver){
1700463772
1700463773
super(_receiver);
1700463774
1700463775
}
1700463776
1700463777
//每个具体的命令都必须实现一个命令
1700463778
1700463779
public void execute(){
1700463780
1700463781
//业务处理
1700463782
1700463783
super.receiver.doSomething();
1700463784
1700463785
}
1700463786
1700463787
}
1700463788
1700463789
这确实简化了很多,每个命令完成单一的职责,而不是根据接收者的不同完成不同的职责。在高层模块的调用时就不用考虑接收者是谁的问题,如代码清单15-24所示。
1700463790
1700463791
代码清单15-24 场景类
1700463792
1700463793
public class Client{
1700463794
1700463795
public static void main(String[]args){
[
上一页 ]
[ :1.700463746e+09 ]
[
下一页 ]