移动生活,幸福代码

移动天下,IOS,Android

代理模式

代理模式

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

例子


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动态代理的应用


阅读更多
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/birdsaction/article/details/48289949
个人分类: 设计模式
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

加入CSDN,享受更精准的内容推荐,与500万程序员共同成长!
关闭
关闭