タグ

ブックマーク / ameblo.jp/ouobpo (1)

  • 『Javaにクロージャを』

    クロージャ(closure)とは、振舞そのものをカプセル化したもののことだ。SmalltalkやRubyなど、動的なオブジェクト指向プログラミング言語ではブロックとして親しまれている。メソッド抽出や、継承、委譲などの王道のオブジェクト指向テクニックでは再利用が難しいコードを、スマートに再利用できるのが大きな魅力だ(マーチン・ファウラーによるクロージャのエントリ)。 たとえば、ループの仕方は同じで、ループ中で呼び出すメソッドだけが異なるような以下のような処理は、割とよくある。こうしたコードは、ループ処理の部分だけ共通なので再利用したいのだが、再利用できそうでなかなかできなく、DRY(Don't Repeat Yourself)好きのプログラマとしては歯がゆい思いをする。 void doThis(MyLogic logic) { for (int i=0; i<100; i++) { logi

    hassylin
    hassylin 2009/06/11
    java7のリリース前ではこうなるのか。
  • 1