代理模式

作用:为其他对象提供一种代理以控制对这个对象的访问,并可以附加多种用途。(在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 )
举例:科比打篮球,,科比打篮球厉害,但打篮球前需要签订合同,科比对合同不熟悉,并且打完篮球后的一些广告什么的,科比都不熟悉,所以需要一个经纪人来帮他处理“打篮球”前后的事情,这个经纪人就是代理对象。
AOP:面向切面编程的核心就是代理机制。
这里写图片描述

//共用接口或抽象类
abstract class Subject{
    public abstract void request();
}
//被代理对象
class RealSubject extends Subject{
    @override
    public void request(){
        //do something...
    }
}
//代理类
class Proxy extends Subject{
    Subject rs;
    //可扩展
    @override
    public void request(){
        //do something...
        if(rs == null){
            rs = new RealSubject;
        }
        rs.reqeust();
        //do something...
    }
}
public static void main(String[] args){
    Proxy p = new Proxy();
    p.request();
    //do something...
}

好处:可扩展,建立联系,面向接口

发布了38 篇原创文章 · 获赞 12 · 访问量 3万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章