设计模式之命令模式

来源:互联网 发布:网络公开课网站 编辑:程序博客网 时间:2024/05/16 01:58

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 {@Overridepublic void sell() {System.out.println("sell meat");}}

public class RiceSeller implements Seller {@Overridepublic 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 {@Overridepublic void order() {this.seller.sell();}}
public class OrderRice extends OrderMenuItem {@Overridepublic void order() {this.seller.sell();}}






0 0
原创粉丝点击