设计模式——代理模式

1、新建一个抽象类Subject用于声明想要做的事

package com.proxy;

public abstract class Subject {
    public abstract void handle();
}

 

2、新建一个类RealSubject实现想要做的事

package com.proxy;

public class RealSubject extends Subject {
    @Override
    public void handle() {
        System.out.println("real want do someting!");
    }
}

3、新建一个代理类用于处理真实意图

package com.proxy;

public class ProxySubject extends Subject {

    RealSubject realSubject;

    @Override
    public void handle() {
        if (null==realSubject){
            realSubject =new RealSubject();
        }
        realSubject.handle();
    }
}

4、测试代理模式

package com.proxy;

public class ProxyMain {
    public static void main(String[] args) {
        ProxySubject proxy = new ProxySubject();
        proxy.handle();
    }
}

5、运行结果

6、注:代理模式其实就是在引入对象时引入一定的程度的间接性,因为这种间接性可以附加多种用途,说白了代理模式就是真实对象的代表

7、代码参考:《大话设计模式》

posted on 2019-08-14 23:19  牛鼻子老赵  阅读(81)  评论(0)    收藏  举报