打字猴:1.700463746e+09
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 ]  [ 下一页 ]