您的位置:首页 > 其它

设计模式之命令模式

2017-03-04 18:47 155 查看

1类图



2java示例

public class Test {

public static void main(String[] args) {
Seller riceSeller=new RiceSeller();
Seller meatSeller=new MeatSeller();
OrderMenuItem riceOrder=new OrderRice();
OrderMenuItem meatOrder=new OrderMeat();
riceOrder.setSeller(riceSeller);
meatOrder.setSeller(meatSeller);
Waiter waiter=new Waiter();
waiter.setOrder(riceOrder);
waiter.Order();
waiter.setOrder(meatOrder);
waiter.Order();
}

}
public class Waiter {
private OrderMenuItem order;

public void setOrder(OrderMenuItem order) {
this.order = order;
}

public void Order(){
this.order.order();
}
}
public interface Seller {
void sell();
}

public class MeatSeller implements Seller {

@Override
public void sell() {
System.out.println("sell meat");
}

}

public class RiceSeller implements Seller {

@Override
public void sell() {
System.out.println("sell rice");
}

}
public abstract class OrderMenuItem {
protected Seller seller;

public void setSeller(Seller seller) {
this.seller = seller;
}

public abstract void order();
}

public class OrderMeat extends OrderMenuItem {

@Override
public void order() {
this.seller.sell();
}

}
public class OrderRice extends OrderMenuItem {

@Override
public void order() {
this.seller.sell();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: