代理模式

代理模式

代理从字面意思理解就是委托办理事情,比如买房子找中介,但具体房子还是属于原房主的不是中介的。

例子


public interface ISale { 
   public int sale(House house); //卖房子
}


房屋中介

public class HouseProxy implements ISale {
    public int sale(House house) { 
        return 0;
    }
}

实际卖家
public class HouseOwner implement ISale {
    public int sale(House house) {
        //处理逻辑,比如卖房子 需要到房屋管理所去办手续等,需要操作DB
        return 0;
    }
}


我们合起来

public class HouseProxy implements ISale {
    public int sale(House house) { 
        //我们还可以做日志监控,典型的Spring中用动态代理来处理非业务问题

        HouseOwner owner = new HouseOwner();
        return owner.sale(house); 
    }
}


ISale saleMan = new HouseProxy();
House h = new House();
h.price = 344.0;
h.owner = "Mr.Wang";
h.id    = "A3343";
saleMan.sale(h);

代理优点

1.API与实现分离,一种解耦
2.代理类中还可以做其它事情,比如日志处理,典型的是Spring框架中AOP动态代理的应用


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值