成都公司:成都市成华区建设南路160号1层9号
重庆公司:重庆市江北区红旗河沟华创商务大厦18楼
命令设计模式
1.
package com.lanp.command;
/**
* 处理数据数据项的借口
* @author LanP
* @version V1.0
*/
public interface MyCommand {
void process(int[] target);

}
2.
package com.lanp.command;
/**
* 处理数据数据内容的处理类
* @author LanP
* @version V1.0
*/
public class DoArray {
public void doArrayItems(int[] target,MyCommand myCmd) {
myCmd.process(target);
}
}
3.
package com.lanp.command;
/**
* 用于测试命令模式的类
* @author LanP
* @version V1.0
*/
public class TestMyCommand {
public static void main(String[] args) {
DoArray doArray = new DoArray();
int[] target = {1,-50,78,-2,9,88,520};
//第一次对数组进行处理,具体怎么样处理取决于MyCommand对象
System.out.println("----第一次对数组进行处理----");
doArray.doArrayItems(target, new MyCommand() {
@Override
public void process(int[] target) {
//遍历输出数据元素
System.out.print("数组中的元素有: ");
for(int temp : target) {
System.out.print(temp + " ");
}
System.out.println();
}
});
//第二次对数组进行处理,具体怎么样处理取决于MyCommand对象
System.out.println("----第二次对数组进行处理----");
doArray.doArrayItems(target, new MyCommand() {
//计算数组元素中的和
@Override
public void process(int[] target) {
int sum = 0;
for(int temp : target) {
sum = sum + temp;
}
System.out.println("数组中的和为: " + sum);
}
});
}
}

