- 商品服务类,类名:ProductService
package com.CommandPattern;
public class ProductService {
public void getProduct()
{
System.out.println("查询商品服务!");
}
}
- 商品服务命令类,类名:ProductCommand
package com.CommandPattern;
public class ProductCommand implements ICommand {
private ProductService productService = new ProductService();
@Override
public void excute() {
productService.getProduct();
}
}
- 购物车服务类,类名:ShoppingCarService
package com.CommandPattern;
public class ShoppingCarService {
public void getShoppingCar()
{
System.out.println("这是购物车服务!");
}
}
- 购物车服务类,类名:ShopingCarCommand
package com.CommandPattern;
public class ShopingCarCommand implements ICommand{
private ShoppingCarService shoppingCarService = new ShoppingCarService();
@Override
public void excute() {
shoppingCarService.getShoppingCar();
}
}
- 命令接口类,类名:ICommand
package com.CommandPattern;
public interface ICommand {
//执行函数
void excute();
}
- 命令执行器,类名:CommandInvoker
package com.CommandPattern;
import java.util.ArrayList;
import java.util.List;
public class CommandInvoker {
private List list = new ArrayList<>();
public void Add (ICommand command){
list.add(command);
}
//执行函数
public void excuter(int index)
{
list.get(index).excute();
}
}
- 入口函数类
CommandInvoker commandInvoker = new CommandInvoker();
commandInvoker.Add(new ProductCommand());
commandInvoker.Add(new ShopingCarCommand());
commandInvoker.excuter(0);