未タイトル

ところで、チョット違う話ですが、FooProxyクラスのFooImpleへの依存を断ち切り、Fooを外部から注入するようにします。ここではコンストラクタでFooを渡します。

ところで、チョット違う話ですが、FooProxyクラスのFooImpleへの依存を断ち切り、Fooを外部から注入するようにします。ここではコンストラクタでFooを渡します。

  • タグ:
  • タグはありません
public class FooLogger implements Foo {

	private Foo foo;

	public FooLogger(Foo foo) {
		this.foo = foo;
	}


	@Override
	public void foo() {
		try {
			System.out.println("foo start");
			foo.foo();
		} finally {
			System.out.println("foo end");
		}
	}

	@Override
	public void bar() {
		try {
			System.out.println("bar start");
			foo.foo();
		} finally {
			System.out.println("bar end");
		}
	}

	@Override
	public void baz() {
		try{
			System.out.println("baz start");
			foo.baz();
		} finally {
			System.out.println("baz end");
		}
	}


}