代理模式
概述:为其他对象提供一种代理以控制对这个对象的访问
类图
代理接口对象
/*
* @(#)ProxyInterface.java 2014-4-10
*/
package com.proxy;
/**
* 代理接口对象
* @author liyan
* @version 2014-4-10
* @since 1.0
* @see
*/
public interface ProxyInterface
{
public void execute();
}
代理对象
/*
* @(#)ProxySubject.java 2014-4-10
*/
package com.proxy;
/**
* 描述当前类的作用
* @author liyan
* @version 2014-4-10
* @since 1.0
* @see
*/
public class ProxySubject implements ProxyInterface
{
private ProxyInterface proxyInterface;
public ProxySubject(ProxyInterface proxyInterface)
{
this.proxyInterface = proxyInterface;
}
public ProxySubject()
{
this.proxyInterface = new Subject();
}
@Override
public void execute()
{
System.out.println("这句话是代理对象在被代理对象方法调用的时候添加的");
proxyInterface.execute();
}
}
被代理对象
/*
* @(#)Subject.java 2014-4-10
*/
package com.proxy;
/**
* 描述当前类的作用
* @author liyan
* @version 2014-4-10
* @since 1.0
* @see
*/
public class Subject implements ProxyInterface
{
@Override
public void execute()
{
System.out.println("当前运行的是真实对象");
}
}
测试结果
这句话是代理对象在被代理对象方法调用的时候添加的
当前运行的是真实对象
2014年5月10日 南京
hanily@msn.com