设计模式——代理模式

题目:、生产商(Factory)需要销售商品(Product),网上商城(E-Shop)提供了一个平台,可以帮助销售这些商品,获得更大的销量。当顾客(Custom)从网上商城选购商品的时候,实际是从生产商获得的商品。应用代理模式,用java控制台应用程序改进该设计。

定义接口Business

package MyProexy;

public interface Business {
    void sell(String product);

    void buy(String product);
}

工厂类

package MyProexy;

public class Factory {

    public String name;

    public void setName(String name) {
        this.name = name;
    }

    public String get(){
        return name;
    }

}

定义商店

package MyProexy;

public class E_shop implements  Business {
    Factory factory;

    public E_shop(Factory factory) {
        this.factory = factory;
    }

    @Override
    public void sell(String product) {
        System.out.println("有人要买卖"+product+"望及时回购");

    }

    @Override
    public void buy(String product) {
        System.out.println("有人要买"+product+"请尽早发货");
    }

}

定义顾客

package MyProexy;

public class Custom implements Business {
    E_shop e_shop;

    public Custom(Factory factory) {
        this.e_shop = new E_shop(factory);
    }

    @Override
    public void sell(String product) {
        e_shop.sell(product);
    }

    @Override
    public void buy(String product) {
        e_shop.buy(product);
    }
}

测试

package MyProexy;

public class DemoProexy {
    public static void main(String[] args) {
        Factory factory = new Factory();
        Custom custom = new Custom(factory);
        custom.buy("iphone6Plus");
        custom.sell("iphone4s");
    }
}

运行结果:

在这里插入图片描述

UML

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值