Java

Javaに投稿されたコード一覧

未タイトル

そんな訳で、Fooの生成をファクリトリに任せるのが王道。これでMainはFooFactoryとFooインタフェースにのみ依存します。
そんな訳で、Fooの生成をファクリトリに任せるのが王道。これでMainはFooFactoryとFooインタフェースにのみ依存します。
public class Main {

	public static void main(String[] args) {
		Foo foo = FooFactory.createFoo(); // Fooの生成はファクトリに任せる
コードを見る
  • タグ:
  • タグはありません

未タイトル

んで、実際につかう部分では、newするクラスだけを変更します。たったこれだけで振る舞いを変えられる。すごいね。
んで、実際につかう部分では、newするクラスだけを変更します。たったこれだけで振る舞いを変えられる。すごいね。
public class Main {

	public static void main(String[] args) {
		Foo foo = new FooProxy(); // ここだけ変わる
		foo.foo();
コードを見る
  • タグ:
  • タグはありません

未タイトル

そして、ログ出力担当のProxyクラスを作る。こいつもFooを実装する。ログを出力して実際の処理はFooImplに投げているだけ
そして、ログ出力担当のProxyクラスを作る。こいつもFooを実装する。ログを出力して実際の処理はFooImplに投げているだけ
public class FooProxy implements Foo {

	private FooImpl fooImpl = new FooImpl();

コードを見る
  • タグ:
  • タグはありません

未タイトル

んでもって、さっきまでのFooは実装クラスとしてやる。
んでもって、さっきまでのFooは実装クラスとしてやる。
public class FooImpl implements Foo {

	@Override
	public void foo() {
		System.out.println("foo");
コードを見る
  • タグ:
  • タグはありません

未タイトル

まず、Fooをインタフェースとします。
まず、Fooをインタフェースとします。
public interface Foo {

	public void foo();

	public void bar();
コードを見る
  • タグ:
  • タグはありません

未タイトル

ここで、メソッドの始まりと終わりにログを出力したいという要件があるとします。単純に考えるとこんな感じですかね。
ここで、メソッドの始まりと終わりにログを出力したいという要件があるとします。単純に考えるとこんな感じですかね。
public class Foo {

	public void foo() {
		try {
			System.out.println("foo start");
コードを見る
  • タグ:
  • タグはありません
  • タグ:
  • タグはありません
  • タグ:
  • タグはありません

実行中のメソッド名を得るメソッド

StackTraceElementを用いて呼び出し元のメソッド名を得る関数です。Threadクラスを用いてるのでマルチスレッドで用いる場合は注意が必要かも
StackTraceElementを用いて呼び出し元のメソッド名を得る関数です。Threadクラスを用いてるのでマルチスレッドで用いる場合は注意が必要かも
public static String getMethdodName() {
	StackTraceElement stackTraceElement = Thread.currentThread().getStackTrace()[2];
	String className = stackTraceElement.getClassName();
	String methodName = stackTraceElement.getMethodName();
	return className + "." + methodName;
コードを見る