静态代理简单介绍

3 篇文章 0 订阅

静态代理
什么是代理,类似于现在生活中的中介或者说是销售
行业,他们有出租或者出售的能力,但是出租出售的
东西本身不是他们的属性,他们只是有这种功能但是
需要物品主人提供物品给他们,让他们去销售。

    静态代理,为了代理对象的功能更加纯粹(重复的工
    作交给代理去做,被代理的对象只是实现业务)。

    以销售为例子做一个静态代理。
    提供一个接口和业务方法的抽象方法。
    package com.hist.LL.proxy;

    public interface Sell {
        String sell();
    }

---------------------------------------------------------

    /**
     * 物品替换供者
     */
     这个是物品提供者,不可或缺的一部分,这个是代理
     要代理的对象。
    package com.hist.LL.proxy;

    public class ObjectServer implements Sell {

    @Override
    public String sell() {
        System.out.println("有东西出售");
        return "物主";
            }
    }
    -------------------------------------------------------------------------
    这一部分是代理,代理,代理要有和物主一样拥有
    销售的能力,所以说要实现拥有销售方法的接口。
    package com.hist.LL.proxy;

    public class Seller implements Sell {
    private ObjectServer objectServer;

    public ObjectServer getObjectServer() {
            return objectServer;
    }

    public void setObjectServer(ObjectServer objectServer) {
        this.objectServer = objectServer;
    }

    @Override
        public String sell() {
                System.out.print("我是销售");
                String sell = objectServer.sell();
                System.out.println(sell + "同意了。");
                return "代理";
            }
    }
    -------------------------------------------------------------------------
    买东西,要形成买卖关系,有人卖东西,还得有人
    买东西才能形成这种关系,所以说,必须得购物者
    这样可以从代理那买,也可以从物主那买。这样如
    果说是对DAO层的操作的话,就可以让DAO层只做add,
    delete,update,insert之类的操作,那些个无意义
    输出或者日志记录交给代理去做。
    package com.hist.LL.proxy;

    public class Buyer {
        public String buy() {
            ObjectServer objectServer = new ObjectServer();
            Seller seller = new Seller();
            seller.setObjectServer(objectServer);
            String sell = seller.sell();
            return sell;
        }
        public static void main(String[] args) {
            Buyer buyer = new Buyer();
            String buyfrom = buyer.buy();
            System.out.println("从"+buyfrom+"买来的。。。");
        }
    }
    -------------------------------------------------------------------------
    但是静态代理一个服务类对应一个代理,代码量并
    没有减少,但是它更专业化,优缺点自己衡量是否
    使用静态代理。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值