そして、ログ出力担当のProxyクラスを作る。こいつもFooを実装する。ログを出力して実際の処理はFooImplに投げているだけ
そして、ログ出力担当のProxyクラスを作る。こいつもFooを実装する。ログを出力して実際の処理はFooImplに投げているだけ
public class FooProxy implements Foo {private FooImpl fooImpl = new FooImpl();@Overridepublic void foo() {try {System.out.println("foo start");fooImpl.foo();} finally {System.out.println("foo end");}}@Overridepublic void bar() {try {System.out.println("bar start");fooImpl.bar();} finally {System.out.println("bar end");}}@Overridepublic void baz() {try{System.out.println("baz start");fooImpl.baz();} finally {System.out.println("baz end");}}}