このごろ傾倒してるパイプラインパターン。C#3.0のメソッド拡張構文やLINQや関数言語型のような宣言型のプログラミングを見据えていろいろ模索しています。 部品を細かく分けて変更に強い構造にできる利点は非常に大きいと思っています。例えば、たびたび例に出しているファイルから1行づつ読み取るパターンですが、データのソースがファイルからコレクションやほかの何かに変更になっても影響が小さいですね。 また、汎用的な部品、例えば IEnumerable Where( Predicate predicate, IEnumerable input ) みたいなのを使って、述語部分(predicate)のみを各プログラムで記述するってのは魅力的です。煩雑な手続き部分が隠蔽されて、宣言的でわかりやすくなります。そのプログラムがフォーカスしてる具体的な部分がはっきりくっきりと浮かび上がってきます。ラムダ式が活躍