package com.youyj.proxy;
/**
* 代理对象和目的对象之间的关系
* @author Administrator
*
*/
interface Subject
{
public void request();
}
/**
* 目标对象
* @author Administrator
*
*/
class RealObject implements Subject
{
@Override
public void request()
{
System.out.println("我是真实的对象");
}
}
/**
* 代理对象
* @author Administrator
*
*/
class ProxyObject implements Subject
{
private RealObject realObj;
public void request()
{
if (null == realObj)
{
realObj = new RealObject();
}
proMethod();
realObj.request();
afterMethod();
}
public void proMethod()
{
System.out.println("调用真实对之前做的事情");
}
public void afterMethod()
{
System.out.println("调用真实对之后做的事情");
}
}
public class ProxyDemo
{
/**
* @param args
*/
public static void main(String[] args)
{
Subject subObj = new ProxyObject();
subObj.request();
}
}
本文介绍了一个简单的Java代理模式实现案例,定义了Subject接口、RealObject真实主题类和ProxyObject代理类,通过代理类在调用真实对象的方法前后增加额外的功能。
1427

被折叠的 条评论
为什么被折叠?



