メソッドチェーン
Method chain
オブジェクト指向型のプログラミング言語で、メソッドをつないで記述する方法。
obj.methodA(...).methodB(...).methodC(...)
この場合、methodA が次の methodB で取り扱えるオブジェクトを返すことを想定している。
obj そのものを返す。
obj の加工結果(新しく作り直されたインスタンス)を返す。
利点
中間生成物をいちいち変数に代入する処理が要らない。
欠点
記述はやや読みやすくなるが、常に返り値を必要とするので、シーケンシャル実行を強制されることになる。
同一のものを返していることが分からなければ、コンパイラにより前後関係を変えることができない。
返り値がオブジェクトのために使われてしまうので、関数としての使い方ができない。
関数のように使いたい場合はメソッドチェーンを諦めざるを得ない。
デバッグがやや困難になる。
中間生成物を見るのがデバッガによっては難しい。