1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28
| public class SimpleStaticProxyDemo { static interface IService { public void sayHello(); } static class RealService implements IService { @Override public void sayHello() { System.out.println("hello"); } } static 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"); } } public static void main(String[] args) { IService realService = new RealService(); IService proxyService = new TraceProxy(realService); proxyService.sayHello(); } }
|