您的位置:首页 > 其它

代理模式

2016-05-30 17:10 375 查看
1、定义公用接口

package com.hhdys.Proxy;

/**
* Created by zhangkai on 16/5/30.
*/
public abstract class Subject {
public abstract void operation();
}

2、真实实体

package com.hhdys.Proxy;

/**
* Created by zhangkai on 16/5/30.
*/
public class RealSubject extends Subject {
@Override
public void operation() {
System.out.println("真实的操作!!!");
}
}

3、代理类

package com.hhdys.Proxy;

/**
* Created by zhangkai on 16/5/30.
*/
public class Proxy extends Subject {
private RealSubject realSubject=new RealSubject();
@Override
public void operation() {
System.out.println("代理开始工作=====");
realSubject.operation();
System.out.println("代理结束工作=====");
}
}

4、主程序:

package com.hhdys.main;

import com.hhdys.Proxy.Proxy;
import com.hhdys.Proxy.Subject;

/**
* Created by zhangkai on 16/5/30.
*/
public class ProxyMain {
public static void main(String[] args){
Subject subject= new Proxy();
subject.operation();
}
}

5、运行结果:

代理开始工作=====
真实的操作!!!
代理结束工作=====

6、总结:

(1).职责清晰

真实的角色就是实现实际的业务逻辑,不用关心其他非本职责的事务,通过后期的代理完成一件完成事务,附带的结果就是编程简洁清晰。

(2).代理对象可以在客户端和目标对象之间起到中介的作用,这样起到了中介的作用和保护了目标对象的作用。

(3).高扩展性
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息