直接上代码:
RealService 是真正提供服务的类/对象。
ProxyService 内部有一个RealService成员,该成员的方法提供了正在的服务。
public class Test2 {
public static void main(String[] args) {
IService realService = new RealServiceImpl();
IService proxyService = new TraceProxy(realService);
proxyService.sayHello();
}
}
interface IService {
public void sayHello();
}
class RealServiceImpl implements IService {
@Override
public void sayHello() {
System.out.println("hello");
}
}
class TraceProxy implements IService {
private IService realService;
public TraceProxy(IService realService) {
this.realService = realService;
}
@Override
public void sayHello() {
System.out.println("entering sayHello");
this.realService.sayHello();
System.out.println("leaving sayHello");
}
}