码迷,mamicode.com
首页 > 其他好文 > 详细

代理模式

时间:2018-05-12 22:27:34      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:实现类   Stub   递归   策略模式   system   new   eal   模式   调用   

代理模式跟之前的策略模式,装饰模式差距不大,但是代理模式不能无限递归,比策略模式更加解耦

通过当前对象调用某个方法,同时也调用对象内部属性对象的方法。

个人感觉无需继承也可以,继承了以后替换起来成本比较低

//父类抽象类
abstract class Subject {
    public abstract void Request();
}

//实现类
public class RealSubject extends Subject {
    public void Request(){
        System.out.println("真实的请求");
    }
}
//代理类
public class Proxy extends Subject {
    Subject subject;
    @Override
    public void Request() {
        // TODO Auto-generated method stub
        if(subject==null){
            subject=new RealSubject();
        }
        subject.Request();
    }
}

 

下面是实现

//实现方法,简洁调用
public class Context {
    public static void main(String[] args) {
        Proxy p=new Proxy();
        p.Request();
    }
}

 

代理模式

标签:实现类   Stub   递归   策略模式   system   new   eal   模式   调用   

原文地址:https://www.cnblogs.com/blackdeng/p/9030002.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!