1 命令模式
2 执行代码
interface Command{
public void execute();
}
class Stock{
private String name = "alibaba";
private int amount = 10;
public void buy(){
System.out.println("buy");
}
public void sell(){
System.out.println("sell");
}
}
class BuyStock implements Command{
private Stock stock;
public BuyStock(Stock stock){
this.stock = stock;
}
@Override
public void execute() {
stock.buy();
}
}
class SellStock implements Command{
private Stock stock;
public SellStock(Stock stock){
this.stock = stock;
}
@Override
public void execute() {
stock.sell();
}
}
class Broker {
private List<Command> list = new ArrayList<>();
public void add(Command command){
list.add(command);
}
public void executeAll(){
for (Command command : list){
command.execute();
}
list.clear();
}
}
public class Test{
public static void main(String[] args){
Stock stock = new Stock();
BuyStock buyStock = new BuyStock(stock);
SellStock sellStock = new SellStock(stock);
Broker broker = new Broker();
broker.add(buyStock);
broker.add(sellStock);
broker.executeAll();
}
}