JavaFX の置換トリガーの使いよう

変数の置換トリガー on replace は上手く使えばソースコードを綺麗にできそう。


例えば、変数 foo の値が変わったら他の変数やオブジェクトのプロパティを変更するのに使える。

    var foo = 0 on replace {
        bar = baz = object.value = foo;
    }

こんな感じで変数 foo の値に依存する他の変数の値の同期を一箇所で行える。


これが bind だと・・・

    public var foo = 0;
    ...
    var bar = bind foo;
    ...
    var baz = bind foo;
    ...
    class Hoge {
        ...
        piyo = bind foo;
        ...
    }

こんな感じで変数 foo の bind による使用があちこちに散在することによって保守性を悪くする可能性がある。


とはいえ前者は、依存される側でない、依存する側の変数があちこちに散在してしまう可能性もあるということも言えるけど。


まあ、変数の使用場所をできるだけ局所的にするよう心がけたり、bind や on replace は状況に応じて上手に使うよう心がけることが大事ってことですよね。


第6回 Swingのコンポーネント:ついにベールを脱いだJavaFX|gihyo.jp … 技術評論社